我正在尝试带有一些 docker 容器的漂亮Træfɪk反向代理。
这是我的 Træfɪk docker -compose.yml:
version: '2'
services:
traefik:
image: traefik
command: --web --docker --docker.domain=my-domain.net --logLevel=DEBUG
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /dev/null:/traefik.toml
这是我的服务的docker-compose.yml Web 部件:
version: '2'
services:
# [...]
web:
build: . # An nginx based image
container_name: my_app_web
volumes:
- ..:/app/
depends_on:
- db
- redis
labels:
- "traefik.backend=my_app"
- "traefik.frontend.rule=Host:my-domain.net"
- "traefik.port=80"
启动所有这些东西后,我看到在 Træfɪk Web UI 上创建了我的前端/后端,但我无法通过 my-domain.net 访问我的应用程序。
$ curl -H Host:my-domain.net http://127.0.0.1
# ... after ±30s.
Gateway Timeout
Træfɪk日志:
转发到http://172.18.0.4:80时出错,err: dial tcp 172.18.0.4:80: i/o timeout
我可以从它的本地 IP 访问应用程序(172.18.0.4
),它工作正常。
我肯定在这里忘记了一些东西,有什么帮助吗?
附加信息:
- 官方
emilevauge/whoami
在单独的 docker-compose 文件中工作正常。 - 我的服务在没有 Træfɪk 的情况下运行良好(通过映射端口 80)