Docker 的网络模式(3+2)

本文详细介绍了Docker的五种网络模式,包括默认的bridge、host、none,以及container和自定义overlay网络,阐述了它们的工作原理、特点和使用方法。

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

前言

本文主要讲docker网络的五种网络模式,其中包括docker安装后默认会生成的三种网络模式(bridge、host和none)以及需要手动定义的两种网络模式(container和自定义)。

 容器的网络模式分类

  • bridge(默认模式)
    • 容器拥有自己的虚拟网卡、虚拟IP、虚拟网关等网络资源,它们通过docker0这个虚拟网卡与宿主机的网卡(eth0或者ens33)进行网络交互,从而实现与外界的网络通信。
    • 容器启动命令:
      • docker run -d --name <容器名> --net=bridge  <镜像名>:<版本号>
    • 特点:相同网络模式下的容器,只可以使用虚拟IP相互通信,不可使用容器别名或容器名相互通信。
  • host
    • 容器没有自己的任何网络资源(比如:容器的IP、网卡、网关和端口等),完全是和宿主机共享网络空间。
    • 容器启动命令:
      • docker run -d --name <容器名> --net=host  <镜像名>:<版本号>
  • none
    • 容器既没有自己的任何网络资源,又不能共享宿主机的网络空间,处于完全隔离状态,无法与外界进行网络通信。
    • 容器启动命令:
      • docker run -d --name <容器名> --net=none  <镜像名>:<版本号>
  • container
    • 差不多属于bridge和host的结合体。
    • 容器没有自己的任何网络资源,它们需要共享以bridge模式启动的容器的网络资源,若与之共享的容器消失,它们便无法与外界进行通信。
    • 容器启动命令:
      • docker run -d --name <容器名> --net=container:<网络模式为bridge的容器名>  <镜像名>:<版本号>
  • 自定义
    • 容器与外界的通信方式和bridge相同,创建自定义网络模式时,可以通过 -d 指定网络模式,可以是bridge和overlay,其中overlay功能更为强大,可以指定多个subnet子网网段。
    • 创建自定义网络模式
    • docker network create -d bridge --subnet 172.25.0.0/16 mybridge  
      #自定义名字为mybridge的网络模式
      docker network create -d overlay --subnet 172.25.0.0/16 --subnet 172.26.0.0/16 myoverlay
      #自定义名字为myoverlay的网络模式
      #上述命令中 -d 可指定bridge或者overlay,--subnet 指定子网网段(不能与其他网卡的网段重叠)
      #使用--subnet选项创建子网而言,bridge网络只能指定一个子网,而overlay网络支持多个子网。
    • 特点:相同网络模式下的容器,不仅可以使用虚拟IP相互通信,还可使用容器别名或容器名相互通信。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值