2016-04-06 37 views
2

NODEJSのドッキング用のコンテナを作成し、nodejsアプリケーションを実行するようにしています。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" 
    } 
} 

であり、これは、ビルドであるとステップをインストールNPMに失敗していますコマンド実行中

docker build -t jachno/nodejs . 

年齢が中のものの負荷を引いた後、1

任意のアイデアの終了コードで失敗したことが実行されますか?

答えて

0

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 
+0

正常に完了しました。 – JaChNo

+0

nodejsを最初にインストールしてみましょう:dockerfile –

+0

に 'apt-get install -y nodejs'を実行するか、ベースイメージを使用してください:' FROM ubuntu' –

1

、私は小さな無料のインスタンスにAWSでこのアプリケーションを構築しました。基本的には、ビルドプロセス中にメモリが不足しているためです。私はより多くのメモリを追加した後

ビルドこんにちは、私はそれを試してみましたが、それでも同じ結果を得た

+0

どのようにしてメモリを追加しましたか? – akn

+0

インスタンスのサイズを増やします。何も覚えていませんが、ビルドの期間だけ増やすだけです。後でそれを縮小してコストを削減することができます – JaChNo

関連する問題