如何将多个(子)域绑定到 docker 中具有不同端口的容器

How to bind multi (sub)domain to one container in docker with different ports in traefik

我有三个子域 api.mydomain.comdl.mydomain.comblog.mydomain.com 我有一个容器有 3 个端口 (5000,5001,5002) ...

现在我想将 api.mydomain.com 绑定到端口 5000,dl.mydomain.com 绑定到端口 5001,blog.mydomain.com 绑定到端口 5002。

注意:我使用 docker-compose 一对一绑定 我使用 blowe 代码

 my_container:
    container_name: my_container
    restart: always
    build: .
    labels:
      - "traefik.backend=my_container"
      - "traefik.enable=true"
      - "traefik.docker.network=web"
      - "traefik.frontend.rule=Host:api.mydomain.com"

您应该可以通过分段实现此目的:https://docs.traefik.io/configuration/backends/docker/#on-containers-with-multiple-ports-segment-labels

traefik.<segment_name>.frontend.rule=EXP
traefik.<segment_name>.port=PORT
[...]