nginx-proxy configure un conteneur exécutant nginx et docker-gen. docker-gen génère des configurations de proxy inverse pour nginx et recharge nginx lorsque les conteneurs sont démarrés et arrêtés.
Voir Proxy inverse Nginx automatisé pour Docker pour savoir pourquoi vous souhaiterez peut-être l'utiliser.
Pour l'exécuter :
docker run --detach
--name nginx-proxy
--publish 80:80
--volume /var/run/docker.sock:/tmp/docker.sock:ro
nginxproxy/nginx-proxy:1.6
Ensuite, démarrez tous les conteneurs (ici un conteneur nginx) que vous souhaitez utiliser comme proxy avec un env var VIRTUAL_HOST=subdomain.yourdomain.com
docker run --detach
--name your-proxied-app
--env VIRTUAL_HOST=foo.bar.com
nginx
À condition que votre DNS soit configuré pour résoudre foo.bar.com
vers l'hôte exécutant nginx-proxy, une requête vers http://foo.bar.com
sera ensuite acheminée vers un conteneur avec la variable d'environnement VIRTUAL_HOST
définie sur foo.bar.com
(dans ce cas, le conteneur your-proxyed-app ).
Les conteneurs mandatés doivent :
EXPOSE
dans leur Dockerfile
, soit en utilisant l'indicateur --expose
pour docker run
ou docker create
.--net
lors de la création de votre conteneur nginx-proxy, il ne sera attaché qu'au réseau de pont par défaut. Cela signifie qu'il ne pourra pas se connecter aux conteneurs sur des réseaux autres que le pont. Remarque : fournir un numéro de port dans VIRTUAL_HOST
n'est pas pris en charge, veuillez consulter les ports virtuels ou les ports HTTP/HTTPS externes personnalisés en fonction de ce que vous souhaitez réaliser.
Les images nginx-proxy sont disponibles en deux versions.
Cette image est basée sur l'image nginx:mainline, elle-même basée sur l'image debian slim.
docker pull nginxproxy/nginx-proxy:1.6
-alpine
)Cette image est basée sur l'image nginx:alpine.
docker pull nginxproxy/nginx-proxy:1.6-alpine
latest
et alpine
: Il n'est pas recommandé d'utiliser la latest
( nginxproxy/nginx-proxy
, nginxproxy/nginx-proxy:latest
) ou alpine
( nginxproxy/nginx-proxy:alpine
) pour les configurations de production.
Ces balises pointent vers le dernier commit dans la branche main
. Ils ne comportent aucune promesse de stabilité, et leur utilisation exposera probablement votre configuration de proxy nginx au risque de subir des mises à jour incontrôlées vers des versions non rétrocompatibles (ou des versions avec des modifications importantes). Vous devez toujours spécifier explicitement la version que vous souhaitez utiliser pour garantir que votre configuration ne s'interrompt pas lorsque l'image est mise à jour.
Veuillez consulter la section documentation.