我正在使用以下
问题在于从该镜像创建的Docker容器中不存在
我在
Dockerfile
为我的Node.js应用程序构建一个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" ]
问题在于从该镜像创建的Docker容器中不存在
node_modules
文件夹,因此应用程序会遇到错误并无法运行。我在
.dockerignore
文件中有node_modules
,但由于我在构建过程中安装了必要的软件包(RUN npm install
),所以这不应该成为问题。
COPY . .
会覆盖npm install
已经安装的所有东西?尝试使用COPY . .
替换COPY package.json .
,因为你的package.json
也应该使用这个命令来复制。 - vfsorakiRUN npm install && npm rebuild bcrypt --build-from-source
。 - user2915097