Traefik 2.2无法通过TCP连接到Docker Swarm API。

问题描述 投票:0回答:1

在Ubuntu 18.04 LTS上运行Docker 18.09.7ce和Docker API v1.39。

我试图将Traefik 2.2设置为一些群组服务的反向代理,但由于某些原因,Traefik无法通过Traefik文档中给出的TCP端口连接到Docker守护进程。这三个错误信息一直在重复。

level=debug msg="FIXME: Got an status-code for which error does not match any expected type!!!: -1" status_code=-1 module=api
level=error msg="Failed to retrieve information of the docker client and server host: Cannot connect to the Docker daemon at tcp://127.0.0.1:2377. Is the docker daemon running?" providerName=docker
level=error msg="Provider connection error Cannot connect to the Docker daemon at tcp://127.0.0.1:2377. Is the docker daemon running?, retrying in 1.461723532s" providerName=docker

它运行在一个管理器节点上(我只有一个节点),而蜂群工作正常,通过该TCP端口暴露的API,如下面命令的输出所示。

$ sudo ss --tcp --listening --processes --numeric | grep ":2377"
LISTEN   0         128                       *:2377                   *:*        users:(("dockerd",pid=30747,fd=23))  

我的架构是基于 本博文的共享覆盖网络,称为 proxy 创立 docker network create --driver=overlay proxy.

我试过 这个 但是没有成功,我也找不到其他相关问题。以下是我的配置文件。

traefik. toml

[providers.docker]
  endpoint = "tcp://127.0.0.1:2377"
  swarmMode = true
  network = "proxy"

[entryPoints]
  [entryPoints.web]
    address = ":80"
  [entryPoints.web-secure]
    address = ":443"

[certificatesResolvers.le.acme]
  email = "[email protected]"
  storage = "/letsencrypt/acme.json"
  caserver = "https://acme-staging-v02.api.letsencrypt.org/directory" # For testing
  [certificatesResolvers.le.acme.httpChallenge]
    entryPoint = "web"

[log]
  level = "DEBUG"

traefik.yml

version: "3.7"

services:
  reverse-proxy:
    deploy:
      placement:
        constraints:
          - node.role == manager
    image: "traefik:v2.2"
    ports:
      - 80:80
      - 443:443
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
      - "/path/to/traefik.toml:/etc/traefik/traefik.toml"
      - "letsencrypt:/letsencrypt"
    networks:
      - "proxy"

networks:
  proxy:
    external: true

volumes:
  letsencrypt:
docker tcp reverse-proxy docker-swarm traefik
1个回答
0
投票

我可以看到的唯一区别是,博客没有明确定义一个端点的docker提供商。也许要删除?

© www.soinside.com 2019 - 2024. All rights reserved.