gpt4 book ai didi

docker - 为什么 Traefik 在使用 Docker 运行时不读取我的 traefik.toml 文件?

转载 作者:行者123 更新时间:2023-12-01 11:00:09 26 4
gpt4 key购买 nike

按照 official Docker image 中提到的步骤操作时,我似乎无法让 Traefik 读取我的 traefik.toml 文件。

这行得通

来自docker-compose.yml:

version: '3'

services:
proxy:
image: traefik:1.3.5
command: --docker --docker.domain=docker.localhost --logLevel=DEBUG
ports:
- 80:80
volumes:
- /var/run/docker.sock:/var/run/docker.sock
#- ./traefik.toml:/traefik.toml

whoami:
image: emilevauge/whoami
labels:
- "traefik.backend=whoami"
- "traefik.frontend.rule=PathPrefix:/whoami"

注意没有挂载配置文件,所有配置都作为参数传递。

现在,如果我运行 docker-compose up,我会看到一堆来自 Traefik 的调试语句。如果我测试该应用程序,它可以正常工作(是的,我运行的是 Windows 7):

$ curl 'http://192.168.99.100:80/whoami'
Hostname: c94bec5d0e3e
IP: 127.0.0.1
IP: 172.19.0.3
GET /whoami HTTP/1.1
Host: 192.168.99.100
User-Agent: curl/7.50.1
Accept: */*
Accept-Encoding: gzip
X-Forwarded-For: 192.168.99.1
X-Forwarded-Host: 192.168.99.100
X-Forwarded-Proto: http
X-Forwarded-Server: b8946b1c34a1

这行不通

来自docker-compose.yml:

version: '3'

services:
proxy:
image: traefik:1.3.5
#command: --docker --docker.domain=docker.localhost --logLevel=DEBUG
ports:
- 80:80
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik.toml:/etc/traefik/traefik.toml

whoami:
image: emilevauge/whoami
labels:
- "traefik.backend=whoami"
- "traefik.frontend.rule=PathPrefix:/whoami"

请注意,没有参数传递给 Traefik,只有配置文件。

现在,如果我运行 docker-compose up,则不会出现任何日志语句。如果我测试应用程序,我会收到 404:

$ curl 'http://192.168.99.100:80/whoami'
404 page not found

当然,没有任何调试语句,很难知道哪里出了问题。

这是我的 traefik.toml 文件:

debug = true
logLevel = "DEBUG"

[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "docker.localhost"
watch = true
exposedbydefault = false

我尝试将文件挂载到 /etc/traefik/traefik.toml/traefik.toml,结果相同。

我已经尝试运行 official example 中提到的示例也有相似的结果。

我在 Windows 7 上运行它,但我不确定这是否相关。我可以毫无问题地在其他图像中成功装载文件。

那我做错了什么?

最佳答案

我认为您的问题是 Windows。

您使用 Docker for Windows 还是 Docker Toolbox?如果我没记错的话,对于 W7,您必须使用 Docker Toolbox。

我认为您的文件 treafik.toml 没有挂载到您的容器中。

关于docker - 为什么 Traefik 在使用 Docker 运行时不读取我的 traefik.toml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46686074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com