什么是 None network driver
发布: (2025年12月25日 GMT+8 19:49)
3 分钟阅读
原文: Dev.to
Source: Dev.to

什么是 none 网络驱动?
Docker 中的 none 网络驱动是一种特殊类型的网络,它为容器提供完全的隔离,使其不与任何外部网络相连。当你将容器附加到 none 网络时,容器 完全没有网络连接。容器内部只会创建回环设备 (lo)。
在启动容器时使用 --network none 标志即可实现这种隔离。
可能的使用场景
none 网络驱动适用于不需要网络连接或应当限制网络连接的场景:
- 高度敏感的应用 – 为处理敏感数据的应用增加一层安全防护。
- 防止恶意软件或攻击 – 通过阻止任何外部通信来降低攻击面。
- 网络调试 – 在排查容器网络问题时消除外部网络干扰。
- 模拟网络中断 – 测试应用在失去连接时的行为。
- 独立容器 – 运行不依赖外部服务的容器。
- 资源隔离 – 防止网络相关的性能影响,适用于资源密集型工作负载。
- 临时容器 – 与短生命周期容器 (
--rm) 配合使用,以最小化暴露风险。
示例
使用 none 网络运行 Alpine 容器
docker run -it --name app1 --network=none alpine sh
在容器的 shell 中,显示网络接口:
ip link show
典型输出:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0@if2: mtu 1500 qdisc noqueue state UP mode DEFAULT group default
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
输出说明
lo:回环接口,始终存在。eth0@if2:Docker 创建的虚拟以太网接口,即使使用none驱动也会出现。它拥有 MAC 地址 (02:42:ac:11:00:02),但无法在容器外部进行通信。