首页 文章

为什么traefik没有检测到我的容器

提问于
浏览
1

我是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]
endpoint =  "unix:///var/run/docker.sock"
domain = "portal.net"
ExposedByDefault = true
Watch = true

1 回答

  • 0

    我的配置有三个主要问题 .

    • 文件/home/grafra1969/traefik/traefik.toml不存在 . 我忘了一个文件夹 . 因此使用了默认配置 .

    • 以这种方式使用命令行将使用默认值覆盖docker provider的设置 .

    • 启用docke.SwarmMode时,必须确保在服务上设置标签,而不是在容器上设置标签 .

    解决了这一切后,我开始运行了 .

相关问题