Docker 入门 网络及其命令(4)

本文介绍容器的四种网络模式:bridge模式、host模式、none模式和container模式,并详细解释了每种模式的特点及应用场景。同时,文章还提供了Docker网络管理的相关命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、网络管理简介

      容器的网络默认与宿主机,其他容器是相互隔离的。

      为什么需要网络管理?总结有如下四点:

      1. 容器中可以运行一些网络应用(如nginx,web应用,数据库等等),如果要让外部也可以访问这些容器内运行的网络应用,那么久需要胚子网络来实现。

      2. 容器不想让它的网络和宿主机,其他容器相互隔离。

      3. 容器根本不需要网络。

      4. 容器需要更高的定制化网络(如定制特殊的集群网络、定制容器间的局域网)。

二、 四种网络模式

   四中网络模式分别为 bridge模式 , host模式 , none模式 , container模式。

   1. bridge 模式(docker默认的模式)

      Docker daemon 会默认创建一个虚拟以太网网桥 docker0,在该模式下,每一个容器对应就有一对虚拟网络设备veth pair(一个叫eth0的接口在容器上,另一个叫veth1的接口在宿主机的命名空间中)。 容器之间,容器与宿主机之间的网络通信就是通过veth pair 进行通信的. 

      Docker daemon 还会从网桥的私有地址空间中分配一个IP地址给容器。也就是说每一个容器都具有IP地址。该模式类似于虚拟机的net模式。

     需要注意的是: 外部网络无法直接访问容器, 需要建立端口映射才能访问

     在终端上输入brctl show: 可以查看到网桥docker0, 运行一个新容器就创建一个新的veth pair.

    birdge 模式示意:

    

    bridge 模式的端口映射:

    外部网络无法直接访问容器, 需要建立端口映射才能访问。使用命令

   2. host 模式

       在该模式下, 容器与宿主机之间的网络无隔离,即容器直接使用宿主机网络,这个时候容器和主机上的应用所使用的端口不能重复。

       外部可以直接访问容器,不需要端口映射。

       容器的IP就是宿主机的IP。

   3. none 模式

       在该模式下, 容器没有网络, 如果需要使用网络,需要用户自行安装与配置。这种情况适用于需要高度定制网络的用户。

   4. container 模式 

       在该模式下, 容器和现有的容器共用同一个网络

       

三、 Docker 网络管理命令

参考资料:

https://docs.docker.com/network/bridge/#connect-a-container-to-the-default-bridge-network

http://dockone.io/article/1261

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值