docker - 关于 Traefik 在使用 swarm 部署时自动检测端口的困惑(因此与文档的多个部分相矛盾)
问题描述
Traefik 从 Docker API 检索容器的私有 IP 和端口。
和
如果一个容器暴露了一个端口,那么 Traefik 使用这个端口进行私有通信。
但是,在Traefik 文档的其他部分中,指定了以下内容:
Docker Swarm 不向 Traefik 提供任何端口检测信息。
因此,您必须使用标签 traefik.http.services.<service_name>.loadbalancer.server.port 指定用于通信的端口
这也与文档的另一部分一致:
traefik.http.services.<service_name>.loadbalancer.server.port
注册一个端口。当容器暴露多个端口时很有用。
对 Docker Swarm 强制执行
使用 docker swarm ( docker stack deploy
) 部署 Traefik 时,端口会自动拾取,这令人困惑。
文档是否已过时,或者 Traefik 是否可以在未指定端口的情况下工作是错误或其他原因?
解决方案
推荐阅读
- r - 如何根据变量对数据进行分组?
- c++ - C++ 表达式树遍历以将表达式更改为 NNF
- python - 如何交换数组中的二维
- swift - 如何指定 UIViewController 一个 CXProviderDelegate 将在接听电话时打开?
- gradle - 运行“meteor add-platform android”时出现 Gradle 路径错误
- c# - C# Newtonsoft JSON:反序列化和跳过对象名称
- swift - Alamofire ssl 错误的证书 Swift
- python - Lambda - Python - “errorMessage”:“列表索引必须是整数,而不是 str”
- python - 将 Google colab 连接到 Google Compute Engine 实例上的运行时
- android - 如何在继续执行之前等待侦听器运行