Traefik не обнаруживает контейнеры, запущенные с помощью docker-compose (без стека), если установлен docker.swarmmode - PullRequest
0 голосов
/ 09 апреля 2019

Я установил рой-кластер Docker из 3 узлов, одного главного и 2 подчиненных.
Я запустил traefik в качестве службы Docker Swarm с развертыванием стека докеров.
Я создал подключаемую оверлейную сеть с областью Swarm, и трафикподключен в этой сети.

Traefik прослушивает порты 443 и 80, и входная сеть работает как чудо, но если я запускаю контейнеры с docker-compose (без стека!), Traefik их не обнаруживает.

Если я разверну traefik как службу Swarm DoMar со значением swarmmode, установленным на false, он обнаружит только контейнеры, запущенные на хосте, где работает контейнер traefik.

раздел докера файла traefik.toml

[docker]
endpoint = "unix:///var/run/docker.sock"
watch = true
exposedByDefault = false
swarmmode = true
network = "nextcloud_swarm"

Раздел файла docker-compose, относящийся к службе

labels:
      - traefik.enable=true
      - traefik.backend.loadbalancer.stickiness=true
      - traefik.domain=mydomain.com
      - traefik.backend=cloud
      - traefik.frontend.rule=Host:cloud.mydomain.com
      - traefik.docker.network=nextcloud_swarm
      - traefik.basic.protocol=http
      - traefik.port=80

По какой-то причине мне приходится запускать службы не как службы docker swarm, а как docker-compose (например, стек Docker не '• Поддержка команд sysctl или NET_ADMIN) на разных узлах.

...