讲解 Docker 的四种网络模式

Docker 的四种网络模式

Docker 提供四种核心网络模式,分别适用于不同容器通信与隔离需求,运行容器时可通过 --net 指定网络模式,以下是四种网络模式的讲解与示例:

1、Bridge(桥接模式)‌
  • ‌默认模式‌,Docker 为容器分配独立虚拟网卡并接入 docker0 网桥
  • 容器间通过 Docker 网络通信,与外部网络隔离
  • 适用场景:常规应用隔离部署,需端口映射 (-p) 暴露服务‌
2、Host(主机模式)‌
  • 容器直接共享宿主机网络命名空间,‌无独立网络栈‌
  • 性能最佳(无 NAT 转换),但会占用宿主机端口(可能冲突)
  • 适用场景:网络密集型应用(如负载均衡器),需避免端口转发开销

示例:指定 docker 网络模式为host模式,容器将直接使用宿主机的网络和端口。

# docker run -itd --name busybox-1 --net=host busybox
# docker exec -it busybox-1 ip a
lo: 
eth0: 
3、Container(容器共享模式)‌
  • 新容器共享指定容器的网络命名空间(如 --net=container:<ID>)
  • 容器间可通过 localhost 直接通信,无需暴露端口
  • 适用场景:依赖紧密的容器组(如日志收集器与应用容器)

示例:指定 docker 网络模式为 container 模式,该容器会与其他容器共用网络和ip。

# docker run -itd --name busybox-1 --net=container:jenkins busybox
db77cfc262eb74d5995bc8ab8e9bcff06cc9a7276aca0da71f8379e56be7cd25
# docker exec -it busybox-1 ip a 
lo:
eth0@if19:
4、None(无网络模式)‌
  • 不配置任何网络接口,容器完全隔离
  • 需手动自定义网络栈(如通过 nsenter 命令)
  • 适用场景:安全性要求极高的任务或特殊网络调试

示例:指定 docker 网络模式为 none 模式,容器没有网卡,没有IP地址。

# docker run -itd --name busybox-1 --net=none  busybox
# docker exec -it busybox-1 ip a  
lo:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值