inhumantsar.dockerautoproxy
dockerautoproxy
Qu'est-ce que c'est ?
Utilise l'image Docker jwilder/nginx-proxy pour automatiser la configuration de proxy inverse dans Docker Swarm.
Comment ça fonctionne ?
Utilisation du rôle
L'image est conçue pour se configurer dynamiquement, donc il n'y a pas grand-chose à faire à l'avance. Consultez defaults/main.yml
.
L'image alpine
est utilisée par défaut, changez nginx_version
en latest
pour utiliser une image basée sur debian:jesse
.
Crée un réseau appelé nginx_proxy_net
auquel vos conteneurs proxy doivent se joindre.
Utilisation du proxy Nginx
Les conteneurs qui ont besoin d'être proxy doivent faire deux choses : exposer le port à proxifier et spécifier un hôte virtuel.
Les ports peuvent être spécifiés dans le Dockerfile avec EXPOSE
, en ligne de commande avec --expose
, ou dans le fichier Docker Compose avec expose
.
Les hôtes virtuels doivent être spécifiés dans une variable d'environnement appelée VIRTUAL_HOST
.
Utilisation avancée
Configurations Nginx personnalisées
Peuvent être chargées en montant un chemin sur l'hôte contenant des fichiers de configuration Nginx en utilisant la variable dockerautoproxy_config_path
. Le chemin sera créé s'il n'existe pas déjà sur l'hôte.
Certificats SSL
Les certificats SSL peuvent être générés automatiquement ou spécifiés manuellement. Par défaut, ils sont stockés dans un volume de données partagé entre les conteneurs. Vous pouvez utiliser dockerautoproxy_certs_path
pour monter un chemin sur l'hôte où les stocker.
Pour générer des certificats automatiquement, définissez la variable Ansible dockerautoproxy_ssl_companion
sur true
. Cela lancera un deuxième conteneur qui s'occupera de la génération de certificats SSL avec Let's Encrypt. Pour activer un service pour cela, définissez les variables d'environnement du conteneur LETSENCRYPT_HOST
et LETSENCRYPT_EMAIL
. Par exemple :
$ docker run -d \
--name example-app \
-e "VIRTUAL_HOST=example.com,www.example.com,mail.example.com" \
-e "LETSENCRYPT_HOST=example.com,www.example.com,mail.example.com" \
-e "[email protected]" \
tutum/apache-php
Sets up a dynamic Nginx reverse proxy on Docker Swarm
ansible-galaxy install inhumantsar.dockerautoproxy