我正在尝试使用缩小版本的js文件构建生产docker容器。
在我的Dockerfile
中,在安装了npm包之后,我正在尝试构建webpack编译。
RUN npm install -g n # upgrading the npm version
RUN n stable
ADD ./webpack/package.json /package.json
RUN npm install --production
RUN npm run build-production # <<< Fails here
在上一个命令RUN npm run build-production
期间,docker构建过程将失败,并且npm抱怨它无法找到已安装的软件包(NODE_PATH
已设置)。
但是,当我将调用npm run build-production
添加到我的ENTRYPOINT
脚本时,它可以正常工作并按预期编译所有内容。但是,它运行webpack构建我启动容器的所有内容,这是不合适的。
为什么最后一个docker构建步骤找不到前面步骤中安装的软件包?但为什么它通过入口点脚本工作?
在我的Dockerfile中将webpack构建添加到docker构建的最佳方法是什么?