gpt4 book ai didi

docker - Traefik可以与docker-compose连接,但不能与Windows上的swarm服务连接

转载 作者:行者123 更新时间:2023-12-02 20:00:17 25 4
gpt4 key购买 nike

在Windows Server 2016上使用traefik联网docker swarm服务时遇到问题。
我已经尝试了所有可以想到的一切,最终使docker-compose与nat网络一起工作,但是我计划通过集群服务启动更多的应用程序,并且似乎无法将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

预期成绩:

像访问docker-compose一样,访问 http://SERVER:8080/应该会启动traefik仪表板。

实际结果:

访问 http://SERVER:80http://SERVER:8080网页会挂起,并且永远不会加载。

最佳答案

我设法使其大量工作。有关详细信息,请参见我的问题here

关于docker - Traefik可以与docker-compose连接,但不能与Windows上的swarm服务连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54246314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com