【发布时间】:2021-06-03 15:21:24
【问题描述】:
我想要下一个端口转发:
http://traefik.service.localhost/ -> Traefik UI
http://api.service.localhost/ -> 'Hello-Word' page from api-service
这是我尝试创建适当的 docker-compose.yml 文件:
version: '3.8'
services:
reverse-proxy:
image: traefik:v2.4
container_name: reverse-proxy
command:
- "--api.insecure=true"
- "--providers.docker"
ports:
- "80:80"
- "8080:8080"
labels:
- traefik.enable=true
- traefik.docker.network=pred-network
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- pred-network
api-service:
image: x86_64/prediction-service:0.8.1
container_name: api-service
environment:
SERVING_SERVICE: model-service
expose:
- 80
labels:
- traefik.enable=true
- traefik.http.routers.api-service.rule=Host(`api.service.localhost`)
networks:
- pred-network
networks:
pred-network:
我得到以下信息:
http://traefik.service.localhost/ -> HTTP Error 404. The requested resource is not found.
http://api.service.localhost/ -> HTTP Error 404. The requested resource is not found.
唯一有效的链接:
http://api.service.localhost:8080/ -> Traefik UI
如果我会包括:
ports:
- "8070:80"
进入 docker-compose.yml 的 api-service 部分,我可以访问我的“Hello-Word”:
http://localhost:8070/ -> "Hello-Word"
在这种情况下,它不会通过 Traefik 路由,而是直接通过 api-service。是否可以通过 Traefik 做到这一点?
【问题讨论】:
标签: docker-compose proxy port reverse-proxy traefik