docker - 如何使 traefik 自动分配给同一图像中的一个前端 docker 后端?

标签 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

最佳答案

我不完全清楚你在问什么,所以如果这个答案没有完全达到目标,我深表歉意。您应该只有一个“前端”(即您的 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/了解更多信息。

关于docker - 如何使 traefik 自动分配给同一图像中的一个前端 docker 后端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55858505/

相关文章:

docker - 在 kubernetes pod 中运行 nginx 容器,该容器具有使用 Gunicorn 运行的 python 应用程序

docker - 如何让 Docker 容器在系统启动时自动启动?

docker-compose - Traefik docker-compose 仅​​创建一个前端路由而不是 3 个

docker - 如何使用 Traefik 实现 fail2ban

docker - curl 命令参数上的YAML解析错误

neo4j - 运行2个服务

docker - 我将如何创建 Gradle 应用程序的 docker 容器?

docker - Traefik 容器因文件规则而失败

docker - CNAME重定向并允许加密traefik

amazon-web-services - Traefik 集群还没有准备好用于生产吗?