Docker compose 如何使用traefik 2和docker compose将子域映射到容器端口

Docker compose 如何使用traefik 2和docker compose将子域映射到容器端口,docker-compose,port,subdomain,traefik,Docker Compose,Port,Subdomain,Traefik,我有两个子域,让我们称它们为foo.example.com和bar.example.com。我正在使用docker compose加速服务foo和bar。我想使用traefik2.x将每个服务(containerfoo和bar)映射到子域。例如,访问端口80上的foo.example.com将转发到8100上侦听的容器foo。Bar遵循类似的模式,Bar.example.com将通过端口8200触发容器Bar。这是我到目前为止的一些代码,但我正在努力连接这些点 service: foo:

我有两个子域,让我们称它们为
foo.example.com
bar.example.com
。我正在使用docker compose加速服务
foo
bar
。我想使用traefik2.x将每个服务(container
foo
bar
)映射到子域。例如,访问端口80上的
foo.example.com
将转发到8100上侦听的容器foo。Bar遵循类似的模式,
Bar.example.com
将通过端口8200触发容器Bar。这是我到目前为止的一些代码,但我正在努力连接这些点

service:
  foo:
    networks:
      - default
    ports:
      8100:80
  bar:
    networks:
      - default
      - bar
    ports:
      8200:80
我正在为foo使用以下标签:

labels:
  - "traefik.enable=true"
  - "traefik.http.services.foo.loadbalancer.server.port=8100"
  - "traefik.docker.network=traefik"
  - "traefik.http.routers.foo.rule=Host(`foo.example.com`)"
以下是酒吧的标签:

- "traefik.enable=true"
- "traefik.http.middlewares.bar-bazboo.redirectregex.permanent=true"
- "traefik.http.middlewares.bar-bazboo.redirectregex.regex=^https://(.*)/.well-known/(baz|fizz)boo"
- "traefik.http.middlewares.bar-bazboo.redirectregex.replacement=https://$${1}/remote.php/boo/"
- "traefik.http.middlewares.bar-https.redirectscheme.scheme=https"
- "traefik.http.routers.bar-http.entrypoints=web"
- "traefik.http.routers.bar-http.rule=Host(`bar.example.com`)"
- "traefik.http.routers.bar-http.middlewares=bar-https@docker"
- "traefik.http.routers.bar.entrypoints=web-secure"
- "traefik.http.routers.bar.rule=Host(`bar.example.com`)"
- "traefik.http.routers.bar.middlewares=bar-bazboo@docker"
- "traefik.http.routers.bar.tls=true"
- "traefik.http.routers.bar.tls.certresolver=le"
- "com.centurylinklabs.watchtower.enable=true"
和网络:

version: "3"

networks:
  default:
    driver: bridge
  traefik:
    internal: true
  bar:
编辑:bar当前没有任何用于调试的端口映射,并且网络bar仅用于2个且仅用于2个服务


我可以帮助提供更多信息。谢谢。

尝试在每个服务中添加网络标签。我更新了它们,Thanksry将bar网络添加到foo服务中。不同的服务需要网络foo,
foo gaz
。foo和bar都在默认网络上,运行正常。