Node.js模块没有在Docker中构建

时间:2016-09-14 14:00:18

标签: node.js docker alpine

我正在使用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

1 个答案:

答案 0 :(得分:1)

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

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