【发布时间】:2017-08-28 13:56:29
【问题描述】:
好的,所以我有一个我想通过 traefik 访问的 node-js 应用程序。
node-js 应用运行在端口3000
按照入门页面中的test-it 说明,我已经运行了 traefik。
docker-compose.yml
version: '2'
services:
app:
build:
context: .
dockerfile: docker/app/Dockerfile
environment:
- NODE_ENV=development
- NODE_PORT=3000
volumes:
- ./app:/app
expose:
- "3000"
networks:
- web
labels:
- "traefik.backend=microservice"
- "traefik.backend.port=3000"
- "traefik.port=3000"
- "traefik.frontend.rule=Host:microservice.docker.localhost"
networks:
web:
external:
name: traefik_webgateway
尝试连接:
curl -H Host:microservice.docker.localhost http://localhost/
错误的网关
curl -H Host:microservice.docker.localhost http://localhost:3000/
curl: (52) 来自服务器的空回复
但curl -H Host:whoami.docker.localhost http://localhost/ 的工作方式与预期相同。
【问题讨论】:
-
traefik.backend.port选项看起来不正确,但您应该只设置traefik.port就可以了。我们可以看到 traefik config.toml 和/或命令行标志吗?另外,我知道它应该是一样的,你可以尝试在你的主机文件中映射 micro service.docker.localhost 并直接卷曲正确的名称吗? whoami.docker.localhost 声明在哪里? -
@whites11 whoami.docker.localhost 在入门中声明docs.traefik.io
标签: traefik