Пытаюсь настроить сервисы в траэфике через docker провайдера. Мой traefik работает на голом железном сервере, а не как контейнер docker.
Я пробую следующий docker -compose.yaml:
version: '3.7'
services:
web:
image: nginxdemos/nginx-hello:plain-text
deploy:
endpoint_mode: dnsrr
labels:
- "traefik.enable=true"
- "traefik.http.routers.swarm-test.entrypoints=http-int"
- "traefik.http.routers.swarm-test.rule=Host('swarm-test.example.com')"
- "traefik.http.routers.swarm-test.service=swarm-test"
- "traefik.http.services.swarm-test.loadbalancer.server.port=8080"
networks:
- host
networks:
host:
external: true
Мой маршрутизатор traefik не будет отображать эту службу.
Если я закомментирую следующие строки, эта служба появится в моем traefik с IP-адресом 10.0.0.0:
#networks:
# - host
, но 10.0.0.0 IP-адрес является внутренним docker IP-адресом, поэтому установка IP-адреса 10.0.0.0 на моем сервере traefik bare emtal не заставит его взаимодействовать с моими docker контейнерами.
Изображение, используемое в этом примере, просто раскрывает порт 8080 с простой установкой nginx для тестирования.
Не имеет значения, включаю я или выключаю endpoint_mode: dnsrr config. Результаты теста одинаковы с endpoint_mode: dnsrr config.
Как мне настроить эту услугу в traefik через docker провайдера?