我正在使用Traefik v2与码头群。我希望实现以下路由:
docker-compose-traefik.yml
version: "3.7"
services:
traefik:
image: "traefik:v2.0"
networks:
- traefik-net
command:
- "--log.level=DEBUG"
- "--api.insecure=true"
- "--providers.docker.swarmMode=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:5000"
ports:
- "80:80"
- "9000:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
networks:
traefik-net:
external:
name: traefik-netdocker-compose-whoami.yml
version: "3.7"
services:
whoami:
image: "jwilder/whoami"
networks:
- traefik-net
deploy:
replicas: 3
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`mydomain.com`)"
- "traefik.http.routers.whoami.entrypoints=web"
- "traefik.http.services.whoami.loadbalancer.server.port=8000"
networks:
traefik-net:
external:
name: traefik-netjwilder/whoami在其Dockerfile中公开端口8000。我想在容器中将端口5000 (我的入口点定义在docker-compose-traefik.yml)重定向到端口8000。
我用:traefik-net创建了网络docker network create -d bridge traefik-net。
我用以下方式部署了这两个堆栈:
docker-stack deploy -c docker-compose-traefik.yml Traefikdocker-stack deploy -c docker-compose-whoami.yml Whoami当我访问mydomain.com:9000时,它会打开Traefik仪表板。当我访问mydomain.com:5000时,它说“这个网站无法到达”。
我的问题是:如何将请求重定向到mydomain.com:5000容器内的端口5000 (mydomain.com:5000)到端口8000?
发布于 2019-09-27 07:02:43
对于其他有类似问题的人,我找到了解决办法。我需要将端口部分更改为
ports:
- "80:80"
- "9000:8080"至
ports:
- "80:80"
- "9000:8080"
- "5000:5000" <-- add this希望这能帮上忙。:)
https://stackoverflow.com/questions/58129016
复制相似问题