是否可以更改docker0的IP或为docker容器提供静态IP,因为默认情况下Docker容器具有172.17.0.2/16的IP范围,但我的网络是192.168.X.X/24,此时在运行容器的服务器上,所有容器都能够相互通信,但从其他服务器连接失败。
是否可以更改docker0的IP或为docker容器提供静态IP,因为默认情况下Docker容器具有172.17.0.2/16的IP范围,但我的网络是192.168.X.X/24,此时在运行容器的服务器上,所有容器都能够相互通信,但从其他服务器连接失败。
--network=host
来解决。我在这里回答了一个类似的问题https://dev59.com/mF4c5IYBdhLWcg3wa52M#35359185
在你的情况下,区别在于创建一个子网为192.168.X.X/24的网络,然后使用--ip为容器分配所需的IP地址。
--ip
可以将 IP 地址设置为任何你想要的。在此之前,你需要创建自己的子网(只需检查链接)。现在,如果你希望主机和容器在同一网络中,则需要使用 --net=host
。 - cantSleepNow在这里,我们无法更改docker0 IP地址,但我们可以选择创建多个网络。
解决方案1:
可以通过使用带有主机网络的启动容器来实现 --network=host
解决方案2:
我们还可以通过公开所需端口并从另一个节点进行通信来启动容器。
-p hostport:serviceport
或者,解决方案3:
我们可以在docker swarm上部署集群。