Сервис за прокси в Docker
Сервис за прокси отдаёт страницу
только через имя хоста,
а свой порт на компьютер
не открывает.
Браузер всегда стучится
в прокси на 80,
а тот передаёт запрос
внутрь сети проекта.
Порт 80
на хосте занят
только сервисом proxy.
Сервис site
на nginx
получает метки
включения и хоста
site.localhost.
Полный файл проекта
с прокси и сайтом:
services:
proxy:
image: traefik:3
command:
- --entrypoints.web.address=:80
- --providers.docker=true
- --providers.docker.exposedbydefault=false
ports:
- "80:80"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
site:
image: nginx
labels:
- traefik.enable=true
- traefik.http.routers.site.rule=Host(`site.localhost`)
Запуск в фоне:
docker compose up -d
Страница приветствия nginx
открывается по
http://site.localhost.
Отдельный localhost:8080
у site
не нужен и не задаётся.
Опишите сервис page на nginx с хостом page.localhost и полным прокси в том же файле, без строки портов у сайта.
Откройте http://page.localhost и убедитесь, что видна стартовая страница nginx.