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

Ubuntu20.10下Docker构建Node.js镜像执行npm install失败如何解决

问题本质说明

Docker构建过程中运行的临时容器默认使用独立的桥接网络,和宿主机的本地网络环境、npm配置相互隔离,因此会出现本地可正常安装依赖、但构建时无法拉取npm包的情况。

解决方案

方案1:临时指定npm镜像源(最简便,无需修改系统配置)

执行构建命令时直接传入npm源参数即可:

docker build . --build-arg NPM_CONFIG_REGISTRY=https://registry.npmmirror.com

你也可以直接修改Dockerfile里的npm安装语句,固定镜像源:

RUN npm install --registry=https://registry.npmmirror.com

方案2:使用宿主机网络构建

直接指定构建阶段复用宿主机网络,即可继承本地的网络访问能力:

docker build . --network=host

方案3:修复Docker默认DNS配置

如果是Docker容器内DNS解析失败导致的无法访问npm源,可以修改Docker全局DNS配置:

  1. 编辑Docker daemon配置文件,不存在则直接新建:
sudo nano /etc/docker/daemon.json
  1. 写入以下DNS配置:
{
  "dns": ["8.8.8.8", "114.114.114.114"]
}
  1. 重启Docker服务生效:
sudo systemctl daemon-reload
sudo systemctl restart docker

修改完成后重新执行构建命令即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:06:02