inhumantsar.dockerautoproxy

dockerautoproxy

Co to jest?

Używa obrazu Dockera jwilder/nginx-proxy, aby zautomatyzować konfigurację reverse proxy w Docker Swarm.

Jak to działa?

Użycie roli

Obraz ten jest zaprojektowany tak, aby dynamicznie konfigurować, więc nie ma wiele do zrobienia z wyprzedzeniem. Zobacz defaults/main.yml.

Domyślnie używany jest obraz alpine, można zmienić nginx_version na latest, aby użyć obrazu debian:jesse.

Tworzy sieć o nazwie nginx_proxy_net, do której muszą dołączyć kontenery proxy.

Użycie Nginx Proxy

Kontenery, które potrzebują proxy, muszą zrobić dwie rzeczy: Umożliwić portowi proxy oraz określić host wirtualny.

Porty można określić w pliku Dockerfile za pomocą EXPOSE, w wierszu poleceń za pomocą --expose, lub w pliku Docker Compose za pomocą expose.

Hosty wirtualne muszą być określone w zmiennej środowiskowej o nazwie VIRTUAL_HOST.

Zaawansowane użycie

Niestandardowe konfiguracje nginx

Mogą być ładowane przez zamontowanie ścieżki hosta zawierającej pliki konfiguracyjne nginx przy użyciu zmiennej dockerautoproxy_config_path. Ścieżka zostanie utworzona, jeśli już nie istnieje na hoście.

Certyfikaty SSL

Certyfikaty SSL mogą być generowane automatycznie lub określane ręcznie. Domyślnie są przechowywane w wolumenie danych współdzielonym między kontenerami. Można użyć dockerautoproxy_certs_path, aby zamontować ścieżkę na hoście do ich przechowywania.

Aby automatycznie generować certyfikaty, ustaw zmienną Ansible dockerautoproxy_ssl_companion na true. To uruchomi drugi kontener, który zajmie się generowaniem certyfikatów SSL z Let's Encrypt. Aby włączyć usługę dla tego, ustawić zmienne środowiskowe kontenera LETSENCRYPT_HOST i LETSENCRYPT_EMAIL. Na przykład:

$ 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
O projekcie

Sets up a dynamic Nginx reverse proxy on Docker Swarm

Zainstaluj
ansible-galaxy install inhumantsar.dockerautoproxy
Licencja
bsd-3-clause
Pobrania
90
Właściciel