Docker的网络模式

Docker的网络模式介绍

1.1 Docker 的四种网络模式介绍

当你安装docker时,它会自动创建三个网络,可使用如下命令查看:

[root@node-3 ~]# docker network ls 
NETWORK ID     NAME      DRIVER    SCOPE
ac8b38642359   bridge    bridge    local
df54e2e2198f   host      host      local
6634c3ba86ec   none      null      local
  • host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。使用--net=host 指定。
  • Container:创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围。使用 --net=container:NAMEorID 指定。
  • None:该模式关闭了容器的网络功能。使用 --net=none 指定。
  • Bridge:此模式会为每一个容器分配、设置IP等。使用 --net=bridge 指定,默认设置。

2 Docker的原生Bridge网络模式
2.1 Bridge网络模式的原理
安装docker时会自动创建一个docker0网桥,运行容器时,可以使用docker run --network=<NETWORK>选项指定容器应连接到哪个网络,否则Docker守护程序默认将容器连接到docker0虚拟网桥,通过docker0网桥以及Iptables nat表配置与宿主机通信。

Docker 随机分配一个本地未占用的私有网段( 在 RFC1918 中定义) 中的一个地址给docker0 接口。 此后启动的容器内的网口也会自动分配一个同一网段的地址。docker0的IP地址则为容器的默认网关。在主机上创建一对虚拟网卡veth pair设备,Docker将veth pair设备的一端放在新创建的容器中,并命名为eth0(容器的网卡),另一端放在主机中,以vethxxx这样类似的名字命名,并将这个网络设备加入到docker0网桥中(bridge模式示意图如下图所示)。

  • bridge模式下容器没有一个公有ip,只有宿主机可以直接访问,外部主机是不可见的。
  • 容器通过宿主机的NAT规则后可以访问外网

2.2 如何查看docker网络接口

docker安装时会创建一个名为 docker0 的Linux bridge,新建的容器会自动桥接到这个接口

 

 

 

 

 

 

 

 

 

参考地址:https://blog.csdn.net/weixin_68398469/article/details/141674793

posted @ 2025-06-16 20:36  郭慕荣  阅读(10)  评论(0)    收藏  举报