我目前正在设置一个 UnraidOS 服务器,并在我的机器上有一堆 docker 映像。我最近安装了一个 docker 容器,它根据 IP ping 其他容器并报告正常运行时间状态。正常运行时间 docker 连接到桥接网络,并且只能访问桥接上的其他 docker 容器,不能访问网络上的任何其他内容。为了让我的正常运行时间泊坞窗访问其他 IP,我需要做什么?
我的 unraidOS 服务器的静态 IP 为 192.168.1.14
Docker 1: 192.168.1.14:8401 (bridge)
Docker 2: 192.168.1.14:8402 (bridge)
Docker 3: 192.168.1.14:8403 (bridge)
Uptime Docker 4: 192.168.1.14:8400 (bridge)
Docker 5: 192.168.1.15 (custom: br0)
Docker 6: 192.168.1.16 (custom: br0)
我的“Uptime Docker 4”能够 ping 并连接到 Docker 1、Docker 2 和 Docker 3,因为它们都在“桥接”网络时间上。Docker 5 和 Docker 6 都在“custom:br0”网络上,因此它们有自己的 IP 地址,而我的“Uptime Docker 4”无法连接到它,因为它位于不同的网络上。
我的解决方案是什么,以便 Docker 5 和 Docker 6 仍然保留其 IP,但 Uptime Docker 4 仍然可以访问?
我有另一台 PC 以 192.168.1.103 的 IP 连接到我的网络,并且“Uptime Docker 4”能够对其进行 ping 操作。即使像我的 PC 一样分配了这些 IP,它仍然无法 ping 通“Docker 5”和“Docker 6”。
更新:专门针对 UnraidOS 用户,设置 > Docker 下有一个选项,称为“主机访问自定义网络”。如果你打开它,你就可以访问连接到 br0 的主机。我将所有容器移至 br0 并为我的组织分配了自定义 IP。
注意:如果重新启动服务器,“对自定义网络的主机访问”失败(即使它显示它已打开),您需要停止 Docker,关闭“对自定义网络的主机访问”启动 docker,再次停止 docker,启用“主机访问自定义网络”,然后再次启动它以正确激活更改。