You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

docker build命令中--network host参数的实际作用是什么?

docker build --network host 参数作用及与默认配置的差异

核心作用

docker build命令中的--network host选项,作用是让镜像构建过程中生成的所有临时中间容器,直接复用宿主机的网络栈,不使用Docker默认的隔离网络配置。

与默认配置的行为差异

Docker build默认使用bridge网络模式,两者的核心差异如下:

  • 网络隔离性差异
    默认bridge模式下,构建容器拥有独立的网络命名空间,自带专属IP、端口配置,和宿主机网络之间通过Docker网桥做转发,宿主机本地localhost监听的端口默认无法从构建容器内直接访问。
    开启host网络模式后,构建容器与宿主机共用同一个网络命名空间,容器内读取到的网卡、IP、路由规则都和宿主机完全一致,在容器内访问127.0.0.1就是访问宿主机本身,宿主机监听的所有端口都可以直接访问,无需额外做端口映射。
  • 网络性能差异
    默认bridge模式下,所有网络流量都需要经过Docker网桥的转发、NAT转换,会产生少量性能损耗。
    host模式没有网络转发开销,网络传输性能和宿主机原生网络完全一致,拉取依赖包、下载外部资源的速度更快,大文件传输场景下差异尤为明显。
  • 端口冲突风险差异
    默认bridge模式下容器网络独立,不会和宿主机或其他容器出现端口占用冲突。
    host模式下如果构建过程中启动的服务占用了宿主机已经在用的端口,会直接抛出端口占用错误,导致构建失败。
  • 网络访问权限差异
    默认bridge模式下,构建容器的网络出口会经过Docker的防火墙规则处理,宿主机配置的VPN、专属内网路由规则默认不会同步到构建容器内。
    host模式下构建容器会直接继承宿主机的所有路由、防火墙、VPN配置,可以直接访问宿主机能连通的所有内网、专属网络资源。
  • 安全风险差异
    默认bridge模式的网络隔离可以降低构建过程中恶意代码对宿主机网络的攻击面。
    host模式下构建容器拥有和宿主机同等的网络访问权限,如果构建的Dockerfile来源不可信,可能存在窃取宿主机网络内敏感数据、攻击内网服务的风险。

补充说明:host网络模式仅支持Linux系统的Docker环境,Windows和macOS平台的Docker因为底层运行在虚拟机中,配置--network host不会产生实际效果。

内容的提问来源于stack exchange,提问作者Dave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 06:54:03