2016-04-06 4 views
2

Ich versuche, einen Docker Container für NODEJS zu erstellen und es eine Nodejs-Anwendung auszuführen. Schritt installieren mitnodeJS dockerfile Build fehlgeschlagen mit NPM

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

Dies ist der 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" ] 

und dies ist der 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" 
    } 
} 

Es ist auf der npm versagt und dies ist der Build befehle ich

docker build -t jachno/nodejs . 

läuft es für Kinder ab Lasten des Materials ziehen in und versagt dann mit einem Exit-Code von 1.

irgendwelche Ideen?

Antwort

0

FROM node:onbuild Dieses Bild hat bereits NPM-Paket installiert, oder? Wenn nicht, installieren Sie zuerst npm.

Dazu:

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

Sollte sein:

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

Hallo Ich habe das versucht, aber immer noch das gleiche Ergebnis. – JaChNo

+0

versuchen Sie zuerst, nodejs zu installieren: 'RUN apt-get installieren -y nodejs' in dockerfile –

+0

oder verwenden Sie das Basisimage:' FROM ubuntu' –

1

als Update, ich war der Bau dieser Anwendung in aws auf einem kleinen freien Fall. Im Grunde war das der Grund dafür, dass die Box während der Build-Prozesse keinen Speicher mehr hatte.

Sobald ich mehr Speicher hinzugefügt wurde der Build korrekt abgeschlossen

+0

Wie hast du mehr Speicher hinzugefügt? – akn

+0

Erhöhen Sie die Instanzgröße, ich kann mich nicht mehr erinnern, aber Sie müssen es nur für die Build-Dauer erhöhen. Sie können es später verkleinern, um Kosten zu sparen – JaChNo