Traefik 容器因文件规则而失败
Traefik container fails with file rules
我正在尝试 运行 一个带有 yml 配置的简单 Traefik 容器来进行一些测试,但我无法启动它。
docker-compose.yml
version: '3.7'
services:
proxy:
image: traefik:v2.0.1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${PWD}/traefik.yml:/etc/traefik/traefik.yml
command:
- --providers.docker=true
- --providers.file.filename=/etc/traefik/traefik.yml
- --entryPoints.web.address=:7000
# - --providers.docker.swarmMode=true
- --log.level=DEBUG
ports:
- "9999:8080"
- "7000:80"
traefik.yml
http:
routers:
to-reg:
entryPoints:
- web
rule: Path(`/reg`)
service: srv-reg
services:
srv-reg:
loadBalancer:
servers:
- url: http://192.168.226.141:9900
当我运行docker-compose up
时,我得到:
proxy_1 | 2019/10/02 11:29:33 command traefik error: invalid node traefik: no child
我很确定我犯了一个愚蠢的错误,但我无法从日志中理解是哪一个。
我终于发现了我的错误(正如预期的那样是一个愚蠢的错误):我没有理解静态和动态配置之间的区别,我在 traefik 期望静态配置的地方安装了动态配置。这导致了那个奇怪的错误。
在 dyn-traefik.yml
中重命名 traefik.yml
后,我就能够在 /etc/traefik
中挂载并使用预期的路由配置启动代理。
我正在尝试 运行 一个带有 yml 配置的简单 Traefik 容器来进行一些测试,但我无法启动它。
docker-compose.yml
version: '3.7'
services:
proxy:
image: traefik:v2.0.1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ${PWD}/traefik.yml:/etc/traefik/traefik.yml
command:
- --providers.docker=true
- --providers.file.filename=/etc/traefik/traefik.yml
- --entryPoints.web.address=:7000
# - --providers.docker.swarmMode=true
- --log.level=DEBUG
ports:
- "9999:8080"
- "7000:80"
traefik.yml
http:
routers:
to-reg:
entryPoints:
- web
rule: Path(`/reg`)
service: srv-reg
services:
srv-reg:
loadBalancer:
servers:
- url: http://192.168.226.141:9900
当我运行docker-compose up
时,我得到:
proxy_1 | 2019/10/02 11:29:33 command traefik error: invalid node traefik: no child
我很确定我犯了一个愚蠢的错误,但我无法从日志中理解是哪一个。
我终于发现了我的错误(正如预期的那样是一个愚蠢的错误):我没有理解静态和动态配置之间的区别,我在 traefik 期望静态配置的地方安装了动态配置。这导致了那个奇怪的错误。
在 dyn-traefik.yml
中重命名 traefik.yml
后,我就能够在 /etc/traefik
中挂载并使用预期的路由配置启动代理。