如何在同一后端中 运行 两个 docker 容器接受多个端口上的连接?

How do I run two docker containers in the same backend that can accept connections on multiple ports?

我需要 运行 Traefik 后面的两个相同的容器,它们必须接受来自多个端口的请求。为此,我使用 docker service labels。我 运行 遇到的问题是,当我使用 Docker 服务标签并尝试扩展到两个容器时,我收到一条关于后端已被定义的错误消息。

使用普通标签(traefik.frontendtraefik.port 等)工作正常,但添加额外标签(traefik.whoami.frontendtraefik.whoami.port 等)似乎会中断东西。

Docker 撰写文件:

version: '2'

services:
  whoami:
    image: emilevauge/whoami
    networks:
      - web
    labels:
      - "traefik.http.frontend.rule=Host:whoami.docker.localhost"
      - "traefik.http.port=80"
      - "traefik.http.frontend.entryPoints=http"
      - "traefik.http.frontend.backend=whoami"

      - "traefik.soap.frontend.rule=Host:whoami.docker.localhost"
      - "traefik.soap.port=8443"
      - "traefik.soap.frontend.entryPoints=soap"
      - "traefik.soap.frontend.backend=whoami"

networks:
  web:
    external:
      name: traefik_webgateway

扩大规模:

$ docker-compose scale whoami=2
Creating and starting whoami_whoami_2 ... done

Traefik 错误日志:

proxy_1  | time="2017-10-23T15:37:16Z" level=error msg="Near line 39 (last key parsed 'backends.backend-whoami.servers'): Key 'backends.backend-whoami.servers.service' has already been defined." 

谁能告诉我我做错了什么,或者是否有其他方法可以将两个端口映射到一个容器?

谢谢!

Docker 副本管理存在错误。

将在下一个版本中合并修复:https://github.com/containous/traefik/pull/2314