【问题标题】:Traefik can connect with docker-compose, but not with swarm services on windowsTraefik 可以与 docker-compose 连接,但不能与 windows 上的 swarm 服务连接
【发布时间】:2019-01-18 00:45:01
【问题描述】:

在 windows server 2016 上使用 traefik 联网 docker swarm 服务时遇到问题。 我已经尝试了所有我能想到的东西,最终让 docker-compose 与 nat 网络一起工作,但是我计划通过 swarm 服务启动更多应用程序,并且似乎无法将 traefik 和服务与 docker-compose 连接起来网络。

感谢任何帮助

我尝试创建一个新的覆盖网络。在没有默认为 nat 的网络的情况下连接服务(因为我可以检查 nat 并查看已连接的服务),但仍然无法像使用 docker-compose 一样访问应用程序。

当我运行docker ps 时,这是输出。

CONTAINER ID        IMAGE                                  COMMAND                   CREATED             STATUS              PORTS                                        NAMES
e9bb15daf909        stefanscherer/traefik-windows:latest   "/traefik --configfi…"    13 seconds ago      Up 8 seconds        80/tcp                                       traefik-test.ya54gf7ggrwpxk7hb2apyt87u.9t7n20hy2xyq80dtovp280u8t
26eccf39f07e        stefanscherer/whoami                   "\\http.exe"              23 seconds ago      Up 18 seconds       8080/tcp                                     traefik_whoami_1
ed95b99fae35        stefanscherer/traefik-windows          "/traefik --configfi…"    23 seconds ago      Up 17 seconds       0.0.0.0:80->80/tcp, 0.0.0.0:8080->8080/tcp   traefik_proxy_1

如你所见,两个 traefik 进程的端口是不同的。

以下是工作的 docker-compose 和不工作的服务命令。

docker-compose.yaml

services:
  proxy:
    image: stefanscherer/traefik-windows
    command: --api --docker --logLevel=WARN --docker.endpoint=tcp://XXX.XX.XXX.X:2375
    networks:
      - default
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - E:/docker/traefik:C:/etc/traefik
  whoami:
    image: stefanscherer/whoami
    labels:
      - "traefik.enable=true"
      - "traefik.backend=whoami"
      - "traefik.frontend.rule=PathStrip: /whoami/"

networks:
  default:
    external:
      name: nat

个人群服务

docker service create `
  --name whoami `
  --label traefik.enable=true `
  --label traefik.backend=whoami `
  --label traefik.frontend.rule=PathPrefixStrip:/whoami `
  --label traefik.port=80 `
  stefanscherer/whoami

docker service create `
  --name traefik-test `
  --mode global `
  --constraint=node.role==manager `
  --publish 8080:8080 `
  --publish 80:80 `
  stefanscherer/traefik-windows  `
  --defaultentrypoints="http" `
  --retry `
  --debug=true `
  --logLevel=DEBUG `
  --docker `
  --docker.endpoint=tcp://XXX.XX.XXX.X:2375 `
  --docker.swarmmode `
  --docker.domain=traefik `
  --docker.watch `
  --docker.exposedbydefault=false `
  --web `
  --web.statistics

预期结果:

访问http://SERVER:8080/ 应该会调出 traefik 仪表板,就像我执行 docker-compose 时一样。

实际结果:

访问http://SERVER:80http://SERVER:8080 网页挂起并且永远不会加载。

【问题讨论】:

    标签: docker docker-compose docker-swarm traefik docker-for-windows


    【解决方案1】:

    我设法让它成群工作。详情请参阅我的问题here

    【讨论】:

      猜你喜欢
      • 2019-10-15
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 2017-08-06
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多