【问题标题】:Traefik container fails with file rulesTraefik 容器因文件规则而失败
【发布时间】:2019-10-02 11:38:29
【问题描述】:

我正在尝试使用 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

我很确定我犯了一个愚蠢的错误,但我无法从日志中理解哪个错误。

【问题讨论】:

    标签: docker docker-compose traefik


    【解决方案1】:

    我终于发现了我的错误(正如预期的那样,这是一个愚蠢的错误):我没有理解静态配置和动态配置之间的区别,并且我在 traefik 期望静态配置的地方安装了动态配置。这会导致那个奇怪的错误。

    一旦我将traefik.yml 重命名为dyn-traefik.yml,我就能够在/etc/traefik 中挂载并使用预期的路由配置启动代理。

    【讨论】:

    • 从 1.x 升级到 2.0 时出现此错误。
    猜你喜欢
    • 2019-10-05
    • 1970-01-01
    • 2015-06-15
    • 2021-06-06
    • 2014-05-05
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 2019-12-12
    相关资源
    最近更新 更多