Я использую Traefik v2 с Docker Swarm.Я хочу добиться следующей маршрутизации:
- mydomain.com: 9000 -> Панель управления Traefik
- mydomain.com: 5000 -> мое приложение
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-net
docker-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-net
jwilder/whoami
предоставляет порт 8000в его Dockerfile .Я хочу перенаправить порт 5000 (моя точка входа определена в docker-compose-traefik.yml) на порт 8000 в контейнере.
Я создал сеть traefik-net
с: docker network create -d bridge traefik-net
.
Iразвернул оба стека с помощью:
docker-stack deploy -c docker-compose-traefik.yml Traefik
docker-stack deploy -c docker-compose-whoami.yml Whoami
Когда я захожу на mydomain.com:9000, он открывает панель управления Traefik, как следует,Когда я захожу на mydomain.com:5000, он говорит, что «Этот сайт недоступен».
Мой вопрос: Как перенаправить запрос на порт 5000 (mydomain.com:5000) на порт8000 внутри контейнера whoami?