[英]Traefik not seeing Docker Swarm services
我目前正在学习如何使用 Traefik 和 Docker Swarm,为此我一直在尝试设置 Traefik 可以路由到的简单 whoami 服务。 但是,无论我尝试什么,都无法让 Traefik 看到任何 Docker Swarm 服务。 这是我的撰写文件:
version: "3.7"
services:
traefik:
image: "traefik:v2.0.0"
command:
- --entrypoints.web.address=:80 # Enables listening to HTTP requests
#- --providers.docker=true # Enables Docker support
- --providers.docker.swarmMode=true # Enables Docker Swarm Mode support
- --providers.docker.endpoint=tcp://127.0.0.1:2375 # ???
- --api.insecure # Activates the web ui in insecure mode
ports:
- "80:80" # Binds port 80 (HTTP)
- "8080:8080" # Binds port 8080 (Web UI)
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro" # Enables listening to Docker state
deploy:
labels:
- traefik.http.services.traefik.loadbalancer.server.port=8080
placement:
constraints: [node.role==manager]
whoami:
image: "containous/whoami:v1.3.0"
deploy:
labels:
- traefik.port=80
- traefik.http.routers.whoami.rule=Host(`testificate.com`)
- traefik.http.services.whoami.loadbalancer.server.port=8080
您的 docker-compose.yml 文件有问题。 如:
#- --providers.docker=true
你应该打开它。
- --providers.docker.endpoint=tcp://127.0.0.1:2375
- "/var/run/docker.sock:/var/run/docker.sock:ro"
您告诉 traefik 使用 tcp://127.0.0.1:2375,但您设置了 /var/run/docker.sock。
whoami 和 traefik 标签没有入口点,如下所示:
traefik:
- traefik.http.routers.traefik-http.entrypoints=web
我是谁:
- traefik.http.routers.whoami.entrypoints=web
你应该为 traefik 设置网络标签。 像下面这样:
TRAEFIK_PROVIDERS_DOCKER_NETWORK=XXX
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.