【问题标题】:nodeJS dockerfile build failing with NPMnodeJS dockerfile 构建因 NPM 失败
【发布时间】:2016-04-06 21:25:36
【问题描述】:

我正在尝试为 NODEJS 创建一个 docker 容器并让它运行 nodejs 应用程序。

npm install 步骤失败了

The command '/bin/sh -c npm install' returned a non-zero code: 1

这是码头文件

FROM node:onbuild

# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# Install app dependencies
COPY package.json /usr/src/app/
RUN sudo npm install

# Bundle app source
COPY . /usr/src/app

EXPOSE 8080
CMD [ "npm", "start" ]

这是 package.json

{
  "private": true,
  "devDependencies": {
    "gulp": "^3.8.8"
  },
  "dependencies": {
    "bootstrap-sass": "^3.0.0",
    "express": "^4.13.4",
    "ioredis": "^1.15.1",
    "laravel-elixir": "^4.0.0",
    "socket.io": "^1.4.5"
  }
}

这是我正在运行的构建命令

 docker build -t jachno/nodejs .

它运行了很长时间,然后拉入大量内容,然后失败,退出代码为 1。

有什么想法吗?

【问题讨论】:

    标签: node.js npm docker-compose dockerfile npm-install


    【解决方案1】:

    作为更新,我在一个小的免费实例上使用 aws 构建这个应用程序。基本上这是由于在构建过程中盒子内存不足造成的。

    一旦我添加了更多内存,构建就会正确完成

    【讨论】:

    • 你是如何增加内存的?
    • 增加实例大小,不记得是什么了,但你只需要在构建持续时间内增加它。您可以事后将其缩小以节省成本
    【解决方案2】:

    FROM node:onbuild这个镜像已经安装了npm包吧?如果没有,请先安装 npm。

    为此:

    # Install app dependencies
    COPY package.json /usr/src/app/
    RUN sudo npm install
    

    应该是:

    # Install app dependencies
    COPY package.json /usr/src/app/
    RUN cd /usr/src/app && npm install
    

    【讨论】:

    • 尝试先安装nodejs : RUN apt-get install -y nodejs in dockerfile
    • 或使用基础镜像:FROM ubuntu
    • 你可以关注这个:anandmanisankar.com/posts/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    • 2021-08-09
    • 2023-02-08
    • 2022-11-07
    • 2021-07-23
    相关资源
    最近更新 更多