Точка входа - http порты. | 80, 443 | Общая сеть, к которой подключаются контейнеры сервисы. | proxyNet | Для persist состояния необходимо определить общие volume. | | Создание внешней общей сети. | docker network create proxyNet | Конфигурацию nginx можно увидеть в файле (отображение правил proxy). | etc/nginx/conf.d/default.conf | Пример маркировки контейнера сервиса. | environment: - VIRTUAL_HOST=<subdomain.domain> - LETSENCRYPT_HOST=<subdomain.domain> - VIRTUAL_PORT=8080
networks: - "proxyNet"
networks: proxyNet: external: true |
| 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 |