【发布时间】:2019-06-04 10:06:36
【问题描述】:
“docker ps”命令不显示 traefik 端口 8080 和服务使用的其他端口
traefik 服务在 docker-compose.yml 中定义如下:
...
traefik:
image: traefik:1.7-alpine
command: --docker --docker.swarmMode --docker.domain=mylocal.swarm --docker.watch --api --logLevel=INFO \
--entryPoints='Name:http Address::80' \
--entryPoints='Name:https Address::443 TLS'
networks:
- net-traefik
deploy: *default-deploy
ports:
- "8091:80"
- "8093:443"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
logging: *default-logging
“docker ps”命令输出为:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
...
635a4e017bb5 traefik:1.7-alpine "/entrypoint.sh o…" … … 80/tcp
...
为什么只显示80端口?我希望还能找到 443 和 8080
【问题讨论】:
-
如果你运行这个
docker run -d -p 8080:8080 -p 80:80 -v $PWD/traefik.toml:/etc/traefik/traefik.toml traefik,输出是什么? -
然后运行
docker ps...注意...在此之前确保您已经停止了 docker-compose 容器 -
bash # docker run -d -p 8080:8080 -p 80:80 traefik bb5c46c778270209610c5662808675c5070cc70742abe139f46272e8c98a8a41 [root@srv1]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bb5c46c77827 traefik "/traefik" 6 seconds ago Up 4 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:8080->8080/tcp dazzling_borg在这种情况下,一切看起来都很好。但就我而言,我使用 traefik 作为在 docker swarm 上运行的服务 -
这意味着,您的 docker-compose 文件中有问题。