【问题标题】:Why is traefik not detecting my containers为什么 traefik 没有检测到我的容器
【发布时间】:2018-02-19 18:02:57
【问题描述】:

我是 traefik 的新手,想在我的服务器上安装它。 我有一个以 swarm 模式运行的 docker 服务器,并且在服务器上运行了一些容器。只是容器而不是服务。

我的第一次尝试是获取 traefik docker 映像并启动它。所以使用 let start 页面上显示的 docker 文件,我可以在 Web GUI 中看到我所有的容器。

当我尝试使用 traefik.toml 配置而不是 docker-compose.yml 文件中的命令行参数时出现问题。

以下撰写文件将起作用并显示我的容器。 但是,如果我使用当前注释掉的行,我将看不到容器。

version: '3'

services:
  proxy:
    image: traefik
    command: --api  --docker --docker.domain="portal" --docker.exposedbydefault=false --logLevel=DEBUG
   #  command: --api   --logLevel=DEBUG
    networks:
      - webgateway
    ports:
      - "70:80"
      - "7070:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/grafra1969/traefik/traefik.toml:/etc/traefik/traefik.toml

networks:
  webgateway:
    driver: bridge

根据日志读取配置文件,根据我的理解应该与默认类似。怎么了

这里是docker部分的设置

[docker]
endpoint =  "unix:///var/run/docker.sock"
domain = "portal.net"
ExposedByDefault = true
Watch = true

【问题讨论】:

  • 更正。显示容器的命令行 not 包含选项 --docker.exposedbydefault=false

标签: docker traefik


【解决方案1】:

我的配置存在三个主要问题。

  • 文件 /home/grafra1969/traefik/traefik.toml 不存在。我忘记了一个文件夹。因此使用了默认配置。
  • 以这种方式使用命令行会用默认值覆盖 docker 提供程序的设置。
  • 启用 doke.SwarmMode 时,必须确保标签设置在服务上而不是容器上。

修复所有这些后,我开始运行它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 2016-11-04
    • 2021-05-26
    • 1970-01-01
    • 2019-03-29
    • 2018-09-20
    相关资源
    最近更新 更多