【计算机网络】Docker网络模式

本文介绍了Docker的四种网络模式:bridge(默认),host,container和none。bridge模式下,容器通过DHCP获取IP并与宿主机通过docker0网桥通信;host模式下,容器直接使用宿主机的网络设备,但可能带来安全风险;container模式让新容器与已有容器共享网络;none模式则不提供任何网络配置,需要手动设置。

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

Docker中网络模式分类

  • bridge模式,–net=bridge(默认)
  • host模式,–net=host
  • container模式 使用–net =container:指定容器名
  • none模式,–net=none

关于Docker网络模式详解

bridge模式(默认)

当我们安装完docker后,输入ifconfig就会发现有个

docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:f5ff:fe4d:c2c6  prefixlen 64  scopeid 0x20<link>
        ether 02:42:f5:4d:c2:c6  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 196  bytes 36997 (36.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

容器会通过DHCP获取一个和docker0相同网段的IP地址,并连接到网桥,将docker0作为网关与宿主机进行网络通讯,同一个宿主机下使用bridge模式的容器都可以直接通讯

host模式

容器将不会虚拟出自己的网卡,配置自己的IP等,而是直接使用宿主机的IP和端口,但是文件系统是和宿主机隔离的

这种创建出来的容器,可以看到host上所有的网络设备。容器中,对这些设备(比如DUBS)有全部的访问权限。因此docker提示我们,这种方式是不安全的。如果在隔离良好的环境中(比如租户的虚拟机中)使用这种方式,问题不大。

container模式

这种生产环境肯定不会使用,因为这样端口一多就乱,在启动时需要指定一个已经存在的容器,然后这个新的容器和已经存在的容器使用相同用的网络IP

none模式

在none模式下,Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。也就是说,这个Docker容器没有网卡、IP、路由等信息。需要我们自己为Docker容器添加网卡、配置IP等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值