我开始使用treafix,但我面对墙。我正在尝试从此处提供的基本docker示例开始:https://doc.traefik.io/traefik/user-guides/docker-compose/basic-example/
version: "3.8"
services:
traefik:
image: "traefik:v2.3"
container_name: "traefik"
command:
- "--log.level=DEBUG"
- "--accessLog"
- "--api.insecure=true"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
ports:
- "80:80"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
whoami:
image: "traefik/whoami"
container_name: "simple-service"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.entrypoints=web"
- "traefik.http.routers.whoami.rule=Host('server.local')"
因为我是本地人,所以在主机文件中设置了“ server.local”以指向127.0.0.1
但是,当我使用compose运行它并尝试访问server.local时,我只有404,而不是whoami预期的响应。在日志中,我看不到任何让我跳错的东西,但我还是从traefik区域开始。
我在WSL和WSL2上的Windows上使用docker桌面,并在ubuntu WSL2 vm内运行compose
答案 0 :(得分:0)
我发现了问题:
在traefik规则中,您仅应使用反引号(`)和不用单引号(')定义乱抛垃圾的字符串
所以我的:
- "traefik.http.routers.whoami.rule=Host('server.local')"
应该是
- "traefik.http.routers.whoami.rule=Host(`server.local`)"
我希望traefik文档能使这一点更加清晰,尤其是在默认示例中……