如何使traefik自动从同一映像分配给一个前端docker后端?

时间:2019-04-25 22:40:31

标签: docker traefik

我开始将我的所有systemd-nspawn容器转换为dockertraefik解决方案,并且设法通过一次docker容器自动创建了一个前端(后端)开始。

我想从同一个docker映像(每个都有一个自动创建的名称)开始将多个容器附加到我要设置的前端。这样的设置可行吗?

换句话说,今天我跑步

# docker run myimage
# docker run myimage
# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
5b4af3466ba6        wazaa               "/bin/sh -c 'python …"   About an hour ago   Up About an hour    5000/tcp            cranky_montalcini
59b1be83bf98        wazaa               "/bin/sh -c 'python …"   About an hour ago   Up About an hour    5000/tcp            inspiring_goldwasser

我得到了两个容器(根据下面的截图分别为cranky-montalciniinspiring-goldwasser,以及上面的docker ps输出),这些容器分配了两个前端。另一方面,我想将它们分配给单个myfrontend.example.com,这将以某种方式识别出从myimage产生的容器是给他的。

enter image description here

1 个答案:

答案 0 :(得分:1)

我不太清楚您要问的是什么,所以我很抱歉如果这个答案没有达到目标。您应该只有一个“前端”(这是您的traefik容器)。 Traefik根据名称将新容器映射到后端。如果要将两个具有不同名称的容器视为同一后端的一部分(以便定向到该后端的请求将在它们之间进行循环移动),则可以设置traefik.backend标签。例如,这将使foo后端的以下两个容器成为成员:

docker run --label traefik.backend=foo some_image
docker run --label traefik.backend=foo another_image

当然,这假设您还配置了一个适当的traefik.frontend.rule,它将流量定向到该特定后端。

有关其他信息,请参见https://docs.traefik.io/configuration/backends/docker/