gpt4 book ai didi

node.js - Docker 容器中缺少 `node_modules`

转载 作者:IT老高 更新时间:2023-10-28 21:40:34 29 4
gpt4 key购买 nike

我正在使用以下 Dockerfile 为我的 Node.js 应用程序构建一个 docker docker 镜像:

FROM keymetrics/pm2:latest

RUN apk add --no-cache --update alpine-sdk python

# Bundle APP files
COPY package.json .

# Install app dependencies
ENV NPM_CONFIG_LOGLEVEL warn
RUN npm install
RUN npm rebuild bcrypt --build-from-source

COPY . .

# Show current folder structure in logs
RUN ls -al

EXPOSE 3000
VOLUME /app/uploads

CMD [ "pm2-docker", "start", "pm2.json" ]

问题是 node_modules 文件夹不存在于从此镜像创建的 docker 容器中,因此应用程序遇到错误将无法运行。

我的 .dockerignore 文件中有 node_modules 但因为我在构建过程中安装了必要的包(RUN npm install) ,这不应该引起问题。

最佳答案

那你为什么不在构建时创建这个目录(即在 Dockerfile 之前的 RUN npm install 中添加以下行)?

RUN mkdir <workdir>/node_modules

(将 <workdir> 替换为 keymetrics/pm2 图像的实际默认工作目录)

关于node.js - Docker 容器中缺少 `node_modules`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47029517/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com