繁体   English   中英

docker容器中的空白node_modules

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM