Метка маршрута в Docker
Метка маршрута говорит прокси,
какой хост ведёт на этот контейнер.
Строка traefik.http.routers.web.rule
с правилом Host(`site.localhost`)
связывает имя
site.localhost
с сервисом web.
Метка traefik.enable=true
включает контейнер
при выключенной
автопубликации.
Сервис web
на traefik/whoami
без ports
стоит рядом с прокси
в одном файле.
Общая сеть проекта
по умолчанию
связывает оба сервиса:
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
web:
image: traefik/whoami
labels:
- traefik.enable=true
- traefik.http.routers.web.rule=Host(`site.localhost`)
Фоновый подъём:
docker compose up -d
В браузере адрес
http://site.localhost
показывает текст
с именем контейнера
и его IP в сети проекта.
Прямой порт у web
на компьютер не выведен.
Опишите сервис demo на traefik/whoami с включением в прокси и хостом demo.localhost в правиле роутера demo.
Откройте http://demo.localhost и зафиксируйте имя контейнера на странице.