You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否直接将Traefik与两台Docker主机关联?

当然可以关联多台Docker主机!

Traefik完全支持同时对接多台Docker主机,你只需要在traefik.toml中重复定义多个[providers.docker]配置块,每个块对应一台Docker主机的连接信息即可,不管是用TCP远程连接还是本地Unix套接字都能兼容。

配置示例

场景1:两台远程Docker主机(TCP连接)

如果你的两台Docker主机都是远程机器,直接通过TCP端口对接:

# 第一台Docker主机
[providers.docker]
endpoint = "tcp://192.168.1.10:2375"  # 替换为第一台主机的IP和Docker TCP端口
exposedByDefault = false  # 建议关闭默认暴露,只暴露标注了Traefik标签的容器
network = "traefik-shared"  # 指定要监控的Docker网络(需在对应主机提前创建)

# 第二台Docker主机
[providers.docker]
endpoint = "tcp://192.168.1.11:2375"  # 替换为第二台主机的IP和Docker TCP端口
exposedByDefault = false
network = "traefik-shared"

场景2:本地+远程Docker主机(混合连接)

如果一台是本地主机(用Unix套接字),另一台是远程主机(用TCP):

# 本地Docker主机(Unix套接字)
[providers.docker]
endpoint = "unix:///var/run/docker.sock"
exposedByDefault = false
network = "traefik-local"

# 远程Docker主机(TCP连接)
[providers.docker]
endpoint = "tcp://192.168.1.10:2375"
exposedByDefault = false
network = "traefik-public"

重要注意事项

  • 开启Docker远程TCP访问:远程Docker主机默认关闭TCP端口,需要修改Docker daemon配置(比如/etc/docker/daemon.json)添加TCP监听,示例:
    {
      "hosts": ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
    }
    
    修改后重启Docker服务生效。
  • 安全建议:直接暴露2375端口存在安全风险,建议在生产环境中:
    • 仅在内网环境中使用TCP连接
    • 配置TLS加密Docker TCP连接
    • 或者通过SSH隧道转发Docker套接字(更安全)
  • 独立配置参数:每个[providers.docker]块可以单独设置network、exposedByDefault等参数,根据不同主机的需求灵活调整。

内容的提问来源于stack exchange,提问作者Ross

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:32:39