Я запускаю докер в режиме роя.
Сервер А - мой менеджер
Сервер B - мой рабочий
У меня много контейнеров, работающих на A, и просто запускаю B, чтобы справиться с некоторой рабочей нагрузкой.
Проблема в том, что если контейнер развернут на A, Traefik направит запросы к нему, но если контейнер окажется на B, это даст мне плохой шлюз.
Мой traefik
стек:
version: '3.6'
networks:
traefik-net:
driver: overlay
attachable: true
external: true
services:
reverse-proxy:
image: traefik # The official Traefik docker image
command: --docker --docker.swarmmode --docker.domain=mydomain.com --docker.watch --api # Enables the web UI and tells Traefik to listen to docker
ports:
- "80:80" # The HTTP port
- "8080:8080" # The Web UI (enabled by --api)
- "443:443"
networks:
- traefik-net
volumes:
- /var/run/docker.sock:/var/run/docker.sock # So that Traefik can listen
- /home/walucas/docker-configs/traefik/traefik.toml:/traefik.toml
- /home/walucas/docker-configs/traefik/acme.json:/acme.json
deploy:
labels:
traefik.port: 8080
traefik.frontend.rule: "Host:traefik.mydomain.com"
traefik.docker.network: traefik-net
replicas: 1
placement:
constraints: [node.role == manager]
Мой whoami
стек:
version: '3.6'
services:
whoami:
image: jwilder/whoami
ports:
- "8089:8000"
networks:
- traefik-net
deploy:
replicas: 1
labels:
traefik.frontend.rule: "Host:whoami.mydomain.com"
traefik.port: "8000"
traefik.docker.network: traefik-net
networks:
traefik-net:
driver: overlay
attachable: true
external: true
Я не уверен, что это проблема сети или проблема traefik.
(примечание) Сервер B находится в другом физическом местоположении, чем сервер A.