Node.js模块不在Docker中生成

我使用docker-compose构build这个dockerfile,我需要它在docker中构build本地模块(不仅仅是从本地复制它们)。 这只适用于当我的本地模块build立(npm安装)只要我删除它们运行,但没有node_modules目录,它给出了一个错误:错误:找不到模块'express'

FROM mhart/alpine-node:6 MAINTAINER Me COPY package.json index.js lib /app/ WORKDIR /app RUN apk add --no-cache make gcc g++ python && \ addgroup -S app && adduser -S -g app app && \ npm install && \ npm cache clean && \ apk del make gcc g++ python USER app 

这里是应用程序目录:

 .dockerignore .eslintignore .eslintrc.js Dockerfile docker-compose.yml index.js lib npm-debug.log package.json 

问题在于docker将应用程序文件夹从主机绑定到容器的方式。 从我的docker-compose.yml卷部分的第二行修复了它。

 volumes: - .:/app - /app/node_modules