docker网络--单机通信--0--bridge, Host, Container, none笔记
docker网络--单机通信(bridge, Host, Container, none)介绍一.docker单机网络容器通信1.bridge2.Host3.Container4.none5.参考链接介绍搞了比较长时间的docker,开始觉得docker的网络很多,后来想想,往大的说,就两种,1.单机网络,在同一主机上,容器的网络模式主要就4种2.多机网络,就是容器跨主机直接通信,和k8s的网络有
docker网络--单机通信(bridge, Host, Container, none)
一.docker单机网络容器通信
1.bridge
默认模式,每个容器都有独立的network namespace, 这个为nat模式
数据通信:
1.容器间访问,同一个bridge下容器,容器间可以互相访问,不同的bridge下的容器,不能互相访问(默认都是在bridge下,所以,是可以互相访问的,如果使用命令docker network create -d bridge xxx创建的新的bridge,和默认的bridge是无法通信的)
2.外部网络访问容器,外部网络无法直接访问容器,需要将容器内的端口映射到主机的端口,才能进行访问
3.容器访问外部网络,和主机的网卡访问效果一样,能够直接访问(这里的访问方式,类似路由器,容器首先发送数据docker0桥,然后进行snat转换,然后数据回来的时候,再进行dnat,然后给容器)
2.Host
和host共享network namespace
数据通信:
1.容器间访问,和host共享网络命名空间,通过本机的lo口直接访问
2.外部网络访问容器,和host共享网络命名空间,效果等同于本机网卡
3.容器访问外部网络,和host共享网络命名空间,效果等同于本机网卡
3.Container
和制定的container共享container的network namespace
数据通信:
1.容器间访问,因为共享网卡,所以效果等同于共享的网卡的网络权限
2.外部网络访问容器,因为共享网卡,所以效果等同于共享的网卡的网络权限
3.容器访问外部网络,因为共享网卡,所以效果等同于共享的网卡的网络权限
4.none
none模式是指禁用网络功能,只有lo接口,在容器创建时使用–network=none指定。
网络环境为 none,即不为 Docker Container 任何的网络环境。一旦 Docker Container 采用了none网络模式,那么容器内部就只能使用 loopback 网络设备,不会再有其他的网络资源。可以说 none 模式为 Docke Container 做了极少的网络设定,但是俗话说得好“少即是多”,在没有网络配置的情况下,作为 Docker 开发者,才能在这基础做其他无限多可能的网络定制开发。
5.参考链接
关于单机版的docker网络,可以参考链接
https://blog.csdn.net/hetoto/article/details/99892743
更多推荐
所有评论(0)