都说docker网络比较弱,到底弱在哪里?


都说docker网络比较弱,到底弱在哪里?
已邀请:

yingz - 80后it男。。。

赞同来自: styshoo beyondblog 用心阁


在1.9版之前docker本身对跨host的容器间网络通信是没有内置的支持的,需要如flannel这些第三方的工具来实现。
在1.9版之后docker内置了overlay网络的特性,跨host的容器间网络通信问题就不那么突出了。

可以参考 Docker 1.9 Overlay Network实现跨主机网络互通 这篇文章。

另外,docker 1.9版之后的network能够支持一个容器连接到多个(虚拟的)网络上,但这些网络直接的路由可能需要用户来解决(我没有动手试过)。从外部访问容器内的服务还是需要将容器端口映射到host的端口的。

yingz - 80后it男。。。

赞同来自: henryrao


再补充两个:
docker好像是在1.10之前还是不支持静态指定容器的ip地址的,容器restart之后的ip地址可能就发生变化了……
好在现在可以在run/create命令中指定ip地址了,还可以指定虚拟网卡的mac地址,这样使用外部的dhcp服务时,一般会绑定mac地址,容器的ip地址也就相对固定了。

docker之前的桥接模式(实际上是NAT模式)只能使用一个网桥,这样即便flannel这样的第三方工具支持多个网桥来实现多租户的私有隔离网络,也被docker只能使用一个网桥的限制给废掉了。

henryrao - 一個月內拿下k8s

赞同来自:


不同物理主机之间的ip能否互通,还有如果容器的ip变了,那又怎获得更新后的ip和端口

jamesmarva - 90后

赞同来自:


现在好多了啊。。

vikbert - 高级软件工程师,来自成都双流,现就职于德国柏林电子商务软件公司

赞同来自:


个人认为这个问题将在不久的将来会忽略不计,例如在现今比较热门的openshift项目当中, docker的IP已经不是非常的重要。所有的通信都将通过domain name进行,openshift的路由系统将会自动将消息路由到空闲的容器。

要回复问题请先登录注册