nodeJS dockerfile构build失败与NPM

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

它在npm安装步骤上失败

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

这是dockerfile

 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" } } 

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

  docker build -t jachno/nodejs . 

它运行了很长时间拉动负载的东西,然后失败,退出代码为1。

有任何想法吗?

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

一旦我添加更多的内存,构build完成正确

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