вам необходимо сопоставить ваш сервисный порт с 8081
. Это полностью рабочий / протестированный пример, где вы можете получить доступ к whoami
, перейдя к http://whoami.docker.local:8081
или http://whoami.docker.local
* 1008. *
version: "3"
services:
traefik:
image: traefik
command:
- --api.insecure=true
- --providers.docker=true
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
labels:
- traefik.http.routers.api.rule=Host(`traefik.docker.local`)
- traefik.http.routers.api.service=api@internal
whoami:
image: containous/whoami
ports:
- "8081:80"
labels:
- traefik.http.routers.whoami.rule=Host(`whoami.docker.local`)
- traefik.http.routers.whoami.service=whoami@docker
- traefik.http.services.whoami.loadbalancer.server.port=80
он работает на порту 80
, а также 8081
, согласно вашему запросу.
root@d:~# lsof -i :80,8081
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 28208 root 4u IPv6 51666675 0t0 TCP *:tproxy (LISTEN)
docker-pr 28265 root 4u IPv6 51671715 0t0 TCP *:http (LISTEN)
, но вам может быть легче помочь, если вы объясните, почему вы хотите получить доступ :8081
,
потому что используется traefik
, поэтому нам не нужно делать такие перенаправления.