inhumantsar.dockerautoproxy

dockerautoproxy

Was?

Verwendet das jwilder/nginx-proxy Docker-Image, um die Einrichtung eines Reverse Proxys in Docker Swarm zu automatisieren.

Wie?

Verwendung der Rolle

Das Image ist so konzipiert, dass es dynamisch konfiguriert wird. Daher gibt es nicht viel, was im Voraus getan werden muss. Siehe defaults/main.yml.

Standardmäßig wird das alpine Image verwendet. Ändern Sie nginx_version in latest, um ein debian:jesse basiertes Image zu verwenden.

Es wird ein Netzwerk namens nginx_proxy_net erstellt, dem Ihre proxied Container beitreten müssen.

Verwendung des Nginx Proxys

Container, die einen Proxy benötigen, müssen zwei Dinge tun: Den Port, der proxiert werden soll, freigeben und einen virtuellen Host angeben.

Ports können im Dockerfile mit EXPOSE, in der Kommandozeile mit --expose oder in der Docker Compose-Datei mit expose angegeben werden.

Virtuelle Hosts müssen in einer Umgebungsvariable namens VIRTUAL_HOST angegeben werden.

Erweiterte Nutzung

Benutzerdefinierte Nginx-Konfigurationen

Können geladen werden, indem ein Host-Pfad mit Nginx-Konfigurationsdateien unter Verwendung der Variable dockerautoproxy_config_path gemountet wird. Der Pfad wird erstellt, wenn er auf dem Host nicht bereits existiert.

SSL-Zertifikate

SSL-Zertifikate können automatisiert generiert oder manuell angegeben werden. Standardmäßig werden sie in einem Datenvolumen gespeichert, das zwischen den Containern geteilt wird. Sie können dockerautoproxy_certs_path verwenden, um einen Pfad auf dem Host zu mounten, um sie dort zu speichern.

Um Zertifikate automatisch zu generieren, setzen Sie die Ansible-Variable dockerautoproxy_ssl_companion auf true. Dies startet einen zweiten Container, der die SSL-Zertifikatserstellung mit Let's Encrypt übernimmt. Um einen Dienst dafür zu aktivieren, setzen Sie die Umgebungsvariablen des Containers LETSENCRYPT_HOST und LETSENCRYPT_EMAIL. Zum Beispiel:

$ 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
Über das Projekt

Sets up a dynamic Nginx reverse proxy on Docker Swarm

Installieren
ansible-galaxy install inhumantsar.dockerautoproxy
GitHub Repository
Lizenz
bsd-3-clause
Downloads
90
Besitzer