Nginx-Proxy richtet einen Container ein, auf dem Nginx und Docker-Gen ausgeführt werden. Docker-Gen generiert Reverse-Proxy-Konfigurationen für Nginx und lädt Nginx neu, wenn Container gestartet und gestoppt werden.
Warum Sie dies möglicherweise verwenden möchten, erfahren Sie unter Automatisierter Nginx-Reverse-Proxy für Docker.
Um es auszuführen:
docker run --detach
--name nginx-proxy
--publish 80:80
--volume /var/run/docker.sock:/tmp/docker.sock:ro
nginxproxy/nginx-proxy:1.6
Starten Sie dann alle Container (hier ein Nginx-Container), die Sie als Proxy verwenden möchten, mit einer Umgebungsvariable VIRTUAL_HOST=subdomain.yourdomain.com
docker run --detach
--name your-proxied-app
--env VIRTUAL_HOST=foo.bar.com
nginx
Vorausgesetzt, Ihr DNS ist so eingerichtet, dass foo.bar.com
auf dem Host aufgelöst wird, auf dem nginx-proxy ausgeführt wird, wird eine Anfrage an http://foo.bar.com
dann an einen Container weitergeleitet, wobei die Umgebungsvariable VIRTUAL_HOST
auf foo.bar.com
(in diesem Fall der Your-Proxy-App- Container).
Die Container, die vertreten werden, müssen:
EXPOSE
Direktive in ihrer Dockerfile
verwenden oder indem Sie das Flag --expose
für docker run
oder docker create
verwenden.--net
nicht übergeben, wird er standardmäßig nur an das Standard-Bridge-Netzwerk angehängt. Dies bedeutet, dass keine Verbindung zu Containern in anderen Netzwerken als Bridge hergestellt werden kann. Hinweis: Die Angabe einer Portnummer in VIRTUAL_HOST
wird nicht unterstützt. Sehen Sie sich bitte virtuelle Ports oder benutzerdefinierte externe HTTP/HTTPS-Ports an, je nachdem, was Sie erreichen möchten.
Die Nginx-Proxy-Images sind in zwei Varianten verfügbar.
Dieses Image basiert auf dem nginx:mainline-Image, das wiederum auf dem Debian-Slim-Image basiert.
docker pull nginxproxy/nginx-proxy:1.6
-alpine
)Dieses Bild basiert auf dem nginx:alpine-Bild.
docker pull nginxproxy/nginx-proxy:1.6-alpine
latest
und alpine
: Es wird nicht empfohlen, das latest
( nginxproxy/nginx-proxy
, nginxproxy/nginx-proxy:latest
) oder alpine
( nginxproxy/nginx-proxy:alpine
) Tag für Produktions-Setups zu verwenden.
Diese Tags verweisen auf den letzten Commit im main
. Sie versprechen keine Stabilität und ihre Verwendung setzt Ihr Nginx-Proxy-Setup wahrscheinlich dem Risiko aus, dass es zu unkontrollierten Updates auf nicht abwärtskompatible Versionen (oder Versionen mit Breaking Changes) kommt. Sie sollten die Version, die Sie verwenden möchten, immer explizit angeben, um sicherzustellen, dass Ihr Setup bei der Aktualisierung des Images nicht abstürzt.
Bitte überprüfen Sie den Abschnitt „Dokumente“.