一篇说明白 Docker 四种网络模式
作者:郝光明 2022-10-08 07:17:14
云计算
云原生 Docker安装启动后会在宿主主机上创建一个名为 docker0 的虚拟网桥,处于七层网络模型的数据链路层,后续每当我们创建一个新的docker容器,在不指定容器网络模式的情况下,docker会通过 docker0 与主机的网络连接,docker0 相当于网桥。

创新互联是一家集网站建设,长葛企业网站建设,长葛品牌网站建设,网站定制,长葛网站建设报价,网络营销,网络优化,长葛网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
今天给大家聊聊docker四种网络模式,进一步加深对docker技术的理解,欢迎大家一起来学习!
1、docker网络模式分类
docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker主要有以下4种网络模式。
- bridge模式:--net=bridge 如果不指定的话默认设置。
- host模式:--net=host
- container模式:--net=container:NAME_or_ID
- none模式:--net=none
2、bridge 网桥模式
Docker安装启动后会在宿主主机上创建一个名为 docker0 的虚拟网桥,处于七层网络模型的数据链路层,后续每当我们创建一个新的docker容器,在不指定容器网络模式的情况下,docker会通过 docker0 与主机的网络连接,docker0 相当于网桥。
使用 bridge 模式新创建的容器,容器内部都会有一个虚拟网卡,名为 eth0,容器之间可以通过容器内部的IP相互通信。
命令:
docker run -d -name tomcat01 --net=bridge -p 8085:80 tomcat:latest
说明:
- --net=bridge 可省略 ,-p 指定端口映射。
- 网桥默认 IP 范围是一般都是 172.17.x.x 。
3、host 模式
如果指定的host模式容器不会拥有一个独立network namesace,而是与宿主主机共用network namesace。也就说明容器本身不会有的网卡信息,而是使用宿主主机的网络信息。容器除了网络,其他比如文件系统、进程等依然都是隔离的。
说明:
- --net=host 指定。
- 容器和宿主主机共享 Network namespace。
- host模式因为和宿主主机共享network namespace,会有可能出现端口冲突的情况。
4、container模式
container模式和host模式很类似,host模式和宿主主机共享network namespace;container模式和指定的容器共享,两者之间除了网络共享(网卡、主机名、IP 地址),其他方面还是隔离的。
命令:
docker run -d -name tomcat02 --net=container:name/id -p 8000:80 tomcat:latest
说明:
–-net={容器id 或容器name} 指定。
当前容器和另外一个容器共享 Network namespace。
5、none模式
如果dockers容器指定的网络模式为none,该容器没有办法联网,外界也无法访问它,可以用来本次测试。
命令:
docker run -d -name tomcat02 --net=none -p 8000:80 tomcat:latest
-net=none 指定。
容器有独立的Network namespace,但并没有对其进行任何网络设置,如果需要的话,需要自定义配置网络。
本文名称:一篇说明白Docker四种网络模式
当前地址:http://www.jxjierui.cn/article/dpcjeoo.html


咨询
建站咨询
