Проблемы с сетевым подключением сервисов Docker Swarm с помощью traefik на Windows Server 2016. Я перепробовал все, что только мог придумать, и закончил тем, что получил docker-compose для работы с сетью nat, однако я планирую запускать больше приложений через сервисы Swarmи я не могу связать traefik и сервисы с сетью docker-compose.
Любая помощь приветствуется
Я пытался создать новую оверлейную сеть.Подключение сервисов без сети, которая по умолчанию имеет значение nat (поскольку я могу проверить nat и увидеть подключенные сервисы), но по-прежнему не могу получить доступ к приложению так же, как при использовании docker-compose.
Когда я запускаюdocker ps
это вывод.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e9bb15daf909 stefanscherer/traefik-windows:latest "/traefik --configfi…" 13 seconds ago Up 8 seconds 80/tcp traefik-test.ya54gf7ggrwpxk7hb2apyt87u.9t7n20hy2xyq80dtovp280u8t
26eccf39f07e stefanscherer/whoami "\\http.exe" 23 seconds ago Up 18 seconds 8080/tcp traefik_whoami_1
ed95b99fae35 stefanscherer/traefik-windows "/traefik --configfi…" 23 seconds ago Up 17 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:8080->8080/tcp traefik_proxy_1
Как вы можете видеть, порты двух процессов traefik различны.
Ниже приведены рабочие команды docker-compose и нерабочие службы.
docker-compose.yaml
services:
proxy:
image: stefanscherer/traefik-windows
command: --api --docker --logLevel=WARN --docker.endpoint=tcp://XXX.XX.XXX.X:2375
networks:
- default
ports:
- "80:80"
- "8080:8080"
volumes:
- E:/docker/traefik:C:/etc/traefik
whoami:
image: stefanscherer/whoami
labels:
- "traefik.enable=true"
- "traefik.backend=whoami"
- "traefik.frontend.rule=PathStrip: /whoami/"
networks:
default:
external:
name: nat
Индивидуальные службы роя
docker service create `
--name whoami `
--label traefik.enable=true `
--label traefik.backend=whoami `
--label traefik.frontend.rule=PathPrefixStrip:/whoami `
--label traefik.port=80 `
stefanscherer/whoami
docker service create `
--name traefik-test `
--mode global `
--constraint=node.role==manager `
--publish 8080:8080 `
--publish 80:80 `
stefanscherer/traefik-windows `
--defaultentrypoints="http" `
--retry `
--debug=true `
--logLevel=DEBUG `
--docker `
--docker.endpoint=tcp://XXX.XX.XXX.X:2375 `
--docker.swarmmode `
--docker.domain=traefik `
--docker.watch `
--docker.exposedbydefault=false `
--web `
--web.statistics
Ожидаемые результаты:
Посещение http://SERVER:8080/ следуетвызовите панель управления traefik, как это происходит при создании docker.
Фактические результаты:
Посещение http://SERVER:80 или http://SERVER:8080 веб-страница зависает и никогда не загружается,