【发布时间】:2019-05-02 19:12:19
【问题描述】:
我的配置是一个简单的 Docker Swarm(在 Docker for Windows 上),带有一个 Treafik 容器和一个非常简单的 Spring Boot 'echo' 容器。
我想将“localhost/traefik”的浏览器请求转发到 Traefik 仪表板,并将“localhost/echo/something”转发到一个简单的 Sprint Boot echo 应用程序。
预计工作:
localhost/treafik => gives a "Gateway timeout" localhost/echo/something => gives a "Gateway timeout"
预计不起作用,但绕过 Traefik(错误):
localhost:8080 => shows the Traefik dashboard localhost:8082/echo/something => { "status":"something" }
如何改进 docker-compose.yml 文件以获得预期结果?这可能与“网络”有关吗?在创建任何网络时,即使是覆盖,都会给出错误消息。
version: '3.7'
services:
traefik:
image: traefik:latest
command: --api --docker
restart: always
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- //k/data/slackbot/traefik.toml:/traefik.toml
ports:
- "80:80"
- "8080:8080"
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:localhost;PathPrefixStrip:/traefik"
- "traefik.port=8080"
- "traefik.protocol=http"
- "traefik.backend=traefik"
slackbotsimple:
image: solvedshared/slackbotsimple:latest
ports:
- 8082:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock
labels:
- "traefik.enable=true"
- "traefik.frontend.rule=Host:localhost;PathPrefix:/echo"
- "traefik.port=8082"
- "traefik.protocol=http"
- "traefik.backend=slackbotsimple
【问题讨论】:
标签: docker-compose docker-swarm traefik