一篇说明白 Docker 四种网络模式

云计算 云原生
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,但并没有对其进行任何网络设置,如果需要的话,需要自定义配置网络。

责任编辑:武晓燕 来源: IT技术分享社区
相关推荐

2019-10-23 05:08:55

docker网络模式网络协议

2019-10-22 14:06:13

Docker软件Linux

2023-04-06 08:37:24

2021-10-24 08:37:18

网络监控网络架构网络

2022-09-23 07:15:22

docker网络Liunx

2023-02-09 10:39:15

gRPC通信模式

2018-12-05 16:25:14

2023-06-01 21:50:53

Doris数仓SQL

2013-12-01 15:34:25

2011-06-01 17:35:35

Android Activity

2015-07-15 17:09:48

HiveHadoop分布式文件系统

2023-02-10 11:13:42

网络功耗无线网络设备

2020-11-10 10:08:41

Kubernetes容器开发

2020-06-24 07:49:13

Kubernetes场景网络

2012-05-10 15:44:22

Windows 8磁盘

2024-08-07 09:02:51

2022-07-15 18:55:04

技术数据分析数据驱动

2021-05-11 08:54:59

建造者模式设计

2021-07-14 10:08:30

责任链模式加工链

2021-07-06 08:59:18

抽象工厂模式
点赞
收藏

51CTO技术栈公众号