docker network 创建 host 和 none 网络模式

docker network 创建 hostnone 网络模式与创建普通的 bridge 网络略有不同,因为它们的机制比较特殊。

以下是具体的命令和注意事项:

1. 创建 Host 模式网络

核心概念
host 模式并不是创建一个虚拟的"网桥",而是让容器直接使用宿主机的网络栈。容器没有独立的 IP,它共享宿主机的 IP 和端口。

命令:

bash 复制代码
docker network create -d host my-host-net
  • -d host:指定驱动为 host。
  • my-host-net:网络名称(你可以随便起,但通常没必要,因为 host 模式行为是固定的)。

⚠️ 重要限制:

  • 端口映射无效 :在 host模式下,-p 8080:80 这种参数完全失效。如果容器监听 80 端口,宿主机必须确保 80 端口未被占用。
  • 隔离性差: 容器看到的网络接口就是宿主机的接口。
  • 通常不需要显式创建 :Docker 默认内置了一个名为 host的网络。你通常可以直接在运行容器时使用 --network host a,而不需要手动 create。手动创建的主要目的是为了在某些编排工具中统一引用名称。

使用示例:

bash 复制代码
# 直接运行一个使用 host网络的容器
docker run -d --network host nginx
# 此时访问宿主机的 IP + 80端口即可看到 Nginx

2. 创建 None 模式网络

核心概念
none 模式表示容器没有任何网络连接 。它只有一个本地回环接口 (lo),无法访问外部网络,其他容器也无法访问它。适用于高安全需求或批处理任务。

命令:

bash 复制代码
docker network create -d none my-none-net
  • -d none:指定驱动为 none。

⚠️ 重要限制:

  • 完全隔离 :容器内无法 ping 通百度,也无法 apt-get install
  • 通常不需要显式创建 :Docker 默认内置了一个名为 none 的网络。

使用示例:

bash 复制代码
# 运行一个完全断网的容器
docker run -d --network none alpine sleep 3600

3. 为什么通常不建议手动 create host/none?

Docker 在安装时会自动创建三个默认网络:

  1. bridge (默认)
  2. host
  3. none

你可以随时通过 docker network ls 看到它们。

手动创建 hostnone 网络的唯一场景是:

你在使用 Docker Compose 或 Kubernetes 等编排工具,并且希望给这个特殊的网络起一个自定义的名字 以便在配置文件中引用,或者为了保持配置的一致性(所有网络都通过 create 生成)。

对于绝大多数日常使用:

  • 如果想用 Host 模式:直接 docker run --network host ...
  • 如果想用 None 模式:直接 docker run --network none ...
  • 如果想用自定义 Bridge 模式(最常用):才需要 docker network create -d bridge ...

4. 总结对比表

特性 Bridge (默认/自定义) Host None
创建命令 docker network create -d bridge mynet docker network create -d host mynet docker network create -d none mynet
IP 地址 有独立内部 IP (如 172.18.0.2) ,共用宿主机 IP ,仅 lo (127.0.0.1)
端口映射 (-p) ✅ 支持 不支持 (直接占用宿主机端口) ❌ 无意义
网络隔离 中等 (与其他容器隔离) 无 (与宿主机完全共享) 最高 (完全断网)
典型用途 微服务通信、Web应用 高性能网络需求、监控代理 离线计算、高安全沙箱
相关推荐
江湖有缘9 分钟前
【保姆级教程】使用Docker Compose一键搭建Picsur私有图床服务
java·docker·容器
技术不好的崎鸣同学30 分钟前
[GXYCTF2019]Ping Ping Ping 思路及解法
网络·安全·web安全
hongmai66688843 分钟前
GD5F1GM7REYIG存储芯片:1Gb SPI NAND Flash助力国产设备高效运行
网络·单片机·嵌入式硬件·物联网·智能家居
不会调制解调的猫1 小时前
笔记 | 什么是 rp_filter(反向路径过滤)?
服务器·网络·笔记
treesforest1 小时前
高精度IP定位怎么选?从企业需求出发的选型指南
网络·数据库·tcp/ip·web安全·ip·高精度ip查询
WZF-Sang1 小时前
网络层协议和数据链路层协议
网络
XR1234567882 小时前
食品饮料与制药行业GMP合规网络建设:无尘车间的网络不能成为污染源
开发语言·网络·php
丑过三八线2 小时前
【VMware Workstation NAT 网络配置指南】
网络
阿拉斯攀登2 小时前
并发与同步:自旋锁、信号量、互斥锁
linux·网络·嵌入式硬件·linux驱动·字符设备驱动
hai3152475433 小时前
九章编译法----空间几何统一编译法
网络·汇编·人工智能·线性代数