[英]Blank node_modules in docker container
我有以下Dockerfile:
FROM node:8.2.1
RUN mkdir -p /app
WORKDIR /app
COPY package.json ./package.json
RUN npm -q install
COPY . /app
RUN npm -q install nodemon babel-cli node-gyp create-react-app react-scripts babel-preset-es2015 -g
EXPOSE 3000
EXPOSE 3001
CMD ["npm", "run", "startServer"]
和docker-compose.yml:
version: "2"
services:
web:
build: .
volumes:
- ./:/app
ports:
["3000:3000", "3001:3001"]
links:
[ mongo ]
mongo:
image: mongo
ports:
[ "27017:2701" ]
当我进入web_container时,已经看到,那个node_modules文件夹是空白的。 我试图更改Dockerfile中的命令顺序,但这没有帮助。 我也尝试直接在容器中运行“ npm install”,但仍在工作,但我不想在每次构建后执行此操作。 任何帮助将不胜感激。
我认为撰写文件中的volume命令使您感到困惑。 当您基本上用主机一个覆盖整个项目时,dockerfiles中的命令将无效,因为此后将装入该卷并替换内容。
尝试运行没有音量部分的整个程序,您应该会看到它正常工作。
您仍然可以使用这些卷,但随后需要在主机上安装node_modules。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.