| Данные контейнеры позволяют сравнительно легко организовать проксирование запросов по доменам, расположенном на одном хосте. |
| jwilder / nginx-proxy | Контейнер с конфигурацией, позволяющий автоматически обнаруживать контейнеры (используется маркировка) и конфигурировать HTTP reverse proxy. Выступает в роли общей точки входа (порты 80 и 443), направляет запрос в контейнер обработчик. Для маршрутизации (и сопоставления) используются домены (предполагает наличие DNS и доменного имени). В контейнере сервисе необходимо указать домен и порт, он должен иметь общую сеть с proxy. | VIRTUAL_HOST=<домен> VIRTUAL_PORT=<порт> |
| jrcs / letsencrypt-nginx-proxy-companion | Контейнер, автоматизирующий процесс подключения SSL сертификата для использования протокола HTTPS. Работа вместе с nginx-proxy. Для работы также добавляется еще один маркер, в котором также указан домен. | LETSENCRYPT_HOST=<домен> |
|
|
| |
| Точка входа - http порты. | 80, 443 | Общая сеть, к которой подключаются контейнеры сервисы. | proxyNet | | |
| services:
reverse-proxy: image: "jwilder/nginx-proxy:latest" container_name: "reverse-proxy" volumes: - "html:/usr/share/nginx/html" - "dhparam:/etc/nginx/dhparam" - "vhost:/etc/nginx/vhost.d" - "certs:/etc/nginx/certs" - "/run/docker.sock:/tmp/docker.sock:ro" restart: "always" networks: - "proxyNet" ports: - "80:80" - "443:443"
letsencrypt: image: "jrcs/letsencrypt-nginx-proxy-companion:latest" container_name: "letsencrypt-helper" volumes: - "html:/usr/share/nginx/html" - "dhparam:/etc/nginx/dhparam" - "vhost:/etc/nginx/vhost.d" - "certs:/etc/nginx/certs" - "/var/run/docker.sock:/var/run/docker.sock:ro" environment: NGINX_PROXY_CONTAINER: "reverse-proxy" DEFAULT_EMAIL: "user@domain.ru" restart: "always" depends_on: - "reverse-proxy" networks: - "proxyNet" volumes: certs: html: vhost: dhparam:
networks: proxyNet: external: true | | | | |
|