【问题标题】:Traefik Docker hot reload configurationTraefik Docker 热重载配置
【发布时间】:2018-02-20 03:50:09
【问题描述】:

我正在尝试从外部更新我的 traefik.yml,并希望通过 docker-compose.yml 设置的 Traefik 容器实例。但事实证明它没有用。

我已将 traefik.yml 映射到实例中:

volumes:
      - ./traefik/traefik.toml:/traefik.toml

但它似乎不会在文件更新时自动重新加载。

我已经尝试进入容器并检查文件是否已更新,并且似乎更新正常。

如何让自动重载在 Docker 中工作?

【问题讨论】:

  • 嗨詹姆斯。到目前为止,动态配置是关于:前端、后端、服务器和 HTTPS 证书。您需要在配置中启用 watch=true 才能工作。对你有帮助吗?最好的问候。
  • 嗨@MarcoBlos,是的,我在[file] 下方尝试了watch=true,但没有成功
  • 这是一个老话题,但请记住,当您将文件绑定到容器中时,您实际安装的是文件名引用的 inode。大多数文本编辑器执行原子写入,这意味着当文件名保持不变时,inode 会发生变化。这意味着挂载到容器中的文件可能与您在主机上看到的内容不同步。解决方法是只绑定挂载目录而不是文件名。

标签: docker traefik


【解决方案1】:

看起来 traefik 只能通过更改配置来查看前端、后端规则和 https 证书。

来自文档:

要启用文件后端,您必须将 --file 选项传递给 Træfik 二进制文件或将 [file] 部分(带有或不带有内部设置)放在配置文件中。 配置文件允许管理后端/前端和 HTTPS 证书(不是通过 Træfik 生成的 Let's Encrypt 证书)。

你需要添加一个额外的

[file]
watch = true

启用文件监视和动态配置

【讨论】:

  • 对不起,我在 cmets 中提到过,它在 docker 中不起作用
  • 对于 docker 提供程序,它的工作方式相同。只需添加到您的 traefik.toml 配置文件: [docker] watch = true
猜你喜欢
  • 2021-01-08
  • 1970-01-01
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-17
相关资源
最近更新 更多