我正在使用docker-compose构建这个dockerfile,我需要它在docker中构建本机模块(而不仅仅是从本地复制它们)。这只适用于构建我的本地模块(npm install)一旦我删除它们就运行但没有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
这是app目录:
.dockerignore
.eslintignore
.eslintrc.js
Dockerfile
docker-compose.yml
index.js
lib
npm-debug.log
package.json
答案 0 :(得分:1)
问题在于docker将app文件夹从主机绑定到容器的方式。我的docker-compose.yml卷部分的第二行修复了它。
volumes:
- .:/app
- /app/node_modules