【发布时间】:2019-06-22 08:32:39
【问题描述】:
据我所知,它类似于this:
docker-traefik.yml:
version: '3'
services:
traefik:
image: traefik
command: --docker # enable Docker Provider
# use Docker Swarm Mode as data provider
--docker.swarmmode
ports:
- "80:80"
volumes:
# for it to be able to listen to Docker events
- /var/run/docker.sock:/var/run/docker.sock
docker-whoami.yml:
version: '3'
networks:
traefik_default:
external: true
services:
whoami:
image: containous/whoami
networks:
# add to traefik network
- traefik_default
deploy:
labels:
# whoami is on port 80
- "traefik.port=80"
# whoami is on traefik_default network
- "traefik.docker.network=traefik_default"
# when to forward requests to whoami
- "traefik.frontend.rule=Host:example.com"
让我在这里引用documentation:
必需的标签:
traefik.frontend.ruletraefik.port- 没有这个,调试日志会显示这个服务被故意过滤掉了。traefik.docker.network- 如果没有这个,可能会出现 504。...
traefik.docker.network覆盖用于连接到容器的默认 docker 网络。 [1]
traefik.port=80注册此端口。当容器暴露多个端口时很有用。
但是为什么它不能将暴露的端口设置为默认值traefik.port?从我所见,它可以在没有traefik.docker.network 的情况下工作(也就是说,如果traefik_default 是第一个服务的网络)。我什么时候可以得到 504?
【问题讨论】:
标签: docker docker-swarm traefik swarm docker-swarm-mode