首页 > 解决方案 > 在 Windows 容器中的 Docker 构建期间运行 NPM 安装

问题描述

我正在尝试docker build在 Windows 容器中从我的 Dockerfile 中运行 NPM 安装命令。问题是 NPM 无法解析包注册表,事实上,由于 DNS 配置不正确,因此无法解析任何域。

我尝试RUN在 Dockerfile 中运行一个命令来更新 dns: RUN netsh interface ip set dns "Ethernet 2" static 8.8.8.8 但尽管构建正确完成,但它似乎不起作用。

这甚至可能吗。请注意,我想在 docker 构建期间从 Dockerfile 中实现这一点。运行一个--dns 8.8.8.8工作正常的容器等,但这不是我的目标。

编辑:添加示例 Dockerfile

FROM randomimage:latest

COPY NodeDir C:/NodeDir
SHELL ["cmd", "/S", "/C"]
RUN .\node-vX.msi /quiet

# I also tried with SHELL ["netsh", "interface", "ip"], no luck
RUN netsh interface ip set dns "Ethernet 2" static 8.8.8.8
RUN npm i gulp -g
CMD cmd

标签: dockerdocker-buildwindows-container

解决方案


推荐阅读