是否可以更改docker0的ip或为docker容器提供静态IP,因为默认情况下docker容器的ip范围是172.17.0.2/16但是我的网络在这种情况下是192.168.XX / 24服务器容器正在运行那里所有容器都能够在服务器内通信,但是从其他服务器无法连接。
答案 0 :(得分:2)
如何设置群集?你用Swarm吗?如果是这样,您需要使用k / v存储后端来启用托管在不同主机上的两个容器之间的通信。这是您的目标,还是您希望主机与另一台主机上的容器通信? 无论如何,解决方案是类似的。
我为Docker Swarm重新编写tuto以将请求提取到他们的Swarm文档中,您可能需要查看:https://www.auzias.net/en/docker-network-multihost/
度过美好的一天!
答案 1 :(得分:1)
问题可以通过使用--network=host
来解决
这将允许您的容器使用主机网络。要直接访问容器,您可以更改容器的ssh端口并使用特定端口号访问容器。
答案 2 :(得分:0)
我在这里回答了类似的问题 throw an exception
您的情况不同的是创建一个子网为192.168.X.X / 24的netowrk,然后使用--ip
将所需的ip addr分配给容器答案 3 :(得分:0)
我们无法更改docker0 IP地址,但我们可以选择创建多个网络。
解决方案1:
可以使用带有主机网络 - network = host 的启动容器
的溶液2:强>
我们也可以通过暴露集群所需的端口来启动容器,并从另一个节点开始我们可以通信它
-p hostport:serviceport
或者,解决方案3:
我们可以在docker swarm上部署集群。