我有以下Dockerfile:
<%= User.find(current_user.id).read_post_id << ["3","5"] %>
<%= User.find(current_user.id).read_post_id.count %>
<%= User.find(current_user.id).save %>
和docker-compose.yml:
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"]
当我进入web_container时,我看到,node_modules文件夹是空白的。我试图改变Dockerfile中的命令顺序,但它没有帮助。我还尝试直接在容器中运行“npm install”,这是有效的,但我不想在每次构建后执行此操作。任何帮助将受到高度赞赏。
答案 0 :(得分:1)
我认为撰写文件中的volume命令会让你感到困惑。当你基本上用你的主机覆盖整个项目时,dockerfiles中的命令没有任何效果,因为之后安装了卷并且内容被替换了。
尝试在没有音量部分的情况下运行整个事情,你应该看到它正常工作。
您仍然可以使用这些卷,但是您需要在主机上安装node_modules。