【问题标题】:Node.js modules not building in DockerNode.js 模块未在 Docker 中构建
【发布时间】:2016-09-14 14:00:17
【问题描述】:

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

这里是应用目录:

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

【问题讨论】:

  • 我认为添加您的 package.json 可以提供更多见解。

标签: node.js docker alpine


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-17
    • 2019-07-11
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    相关资源
    最近更新 更多