docker的通信模式有哪些
时间:2022-02-28 15:10
docker的通信模式有:1、bridge网络模式,又称brigde网桥,在不指定网络的情况下,容器之间的通信都是通过bridge网桥进行通信的;2、host宿主机模式;3、container网络模式;4、none网络模式。 本教程操作环境:linux5.9.8系统、docker-1.13.1版、Dell G3电脑。 docker 容器的四种通信模式 1、bridge网络模式 首先,默认情况下docker运行容器时,宿主机会创建一个bridge网桥,是一个名叫docker 0的虚拟网桥 ,默认docker 0 ip为172.17.0.1,网桥再给容器分配虚拟子网ip,并且以网桥ip作为网关。在不指定网络的情况下,容器之间的通信都是通过bridge网桥进行通信。然后网桥在与宿主机镜像进行ip转换,端口映射等通信。 其实这种bridge网桥与容器,与宿主机之间的通信,有过网络方面经验的同学,看一下下面一张图,就应该可以轻松的了解这种通信的原理了,有点类似与三层路由交换。 2、host宿主机模式 如果容器指定网络模式为host,容器不会有自己的network namespace,而是和宿主机共用一个network网络及ip,容器不会有虚拟出自己的网卡、ip等,当然除了网络通信这一块和宿主机绑定了,其余的容器内容还是和宿主机安全隔离了。这种在做容器迁移时,很不方便,不推荐使用。原理图示如下, 3、container 网络模式: 解析:与另一个运行中的docker容器共享网络 --net=container:containerID 容器直接端口尽量别冲突,采用先到先得原则 4、none网络模式 容器指定网络模式-net为none时,docker容器拥有自己的network namespace,但是所有网络配置都得自行配置,如ip、网卡等,这种方式很麻烦,不推荐使用,原理图示如下 总结: 推荐学习:《docker视频教程》 以上就是docker的通信模式有哪些的详细内容,更多请关注gxlcms其它相关文章!Docker通信模式 配置 说明 host模式 –net=host 容器和宿主机共享Network namespace。 container模式 –net=container:NAME_or_ID 容器和另外一个容器共享Network namespace。 kubernetes中的pod就是多个容器共享一个Network namespace。 none模式 –net=none 容器有独立的Network namespace,但并没有对其进行任何网络设置,如分配veth pair 和网桥连接,配置IP等。 bridge模式 –net=bridge (默认为该模式)