我有一个带有以下Dockerfile的简单节点应用程序:
FROM node:8-alpine
WORKDIR /home/my-app
COPY package.json .
COPY ./app ./app
COPY ./server.js ./
RUN rm -rf node_modules
RUN npm install \
npm run build
EXPOSE 3000
当我使用docker build -t my-app:latest .
构建映像时,我尝试运行该应用程序,但它抱怨缺少某些模块。
当我通过docker run -i -t my-app:latest /bin/sh
进入容器时,可以看到尚未安装软件包。在容器中手动运行npm install
后,它似乎可以工作。
我只能得出这样的结论:RUN npm install
在容器内部未正确执行。