docker containers静态IP,用于通信两个不同的主机

时间:2015-12-16 04:46:48

标签: docker

是否可以更改docker0的ip或为docker容器提供静态IP,因为默认情况下docker容器的ip范围是172.17.0.2/16但是我的网络在这种情况下是192.168.XX / 24服务器容器正在运行那里所有容器都能够在服务器内通信,但是从其他服务器无法连接。

4 个答案:

答案 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上部署集群。