2016-07-27 7 views
0

私はnodejsアプリケーションをコンテナ化しています。私Dockerfileは、次のようになります。npmドッカーファイルがループしているのはなぜですか?

FROM node:4-onbuild 

ADD ./ /egp 

RUN cd /egp \ 
    && apt-get update \ 
    && apt-get install -y r-base python-dev python-matplotlib python-pil python-pip \ 
    && ./init.R \ 
    && pip install wordcloud \ 
    && echo "ABOUT TO do NPM" \ 
    && npm install -g bower gulp \ 
    && echo "JUST FINISHED ALL INSTALLATION" 

EXPOSE 5000 
# CMD npm start > app.log 
CMD ["npm", "start", ">", "app.log"] 

私はDockerfile使用して、代わりに実行されていない場合に

docker run -it -p 5000:5000 -v $(pwd):/egp node:4-onbuild /bin/bash 

私はその後、RUNコマンドの値を貼り付けることができますし、それはすべてが完璧に動作した後、 npm startコマンドを実行するといいですよ。しかし、代わりにdocker build .を試してみると、メモリ不足のエラーでクラッシュするまで、npmのものをインストールしようとする無限ループ(そして私のエコーコマンドを表示しない)に走っているようです。どこが間違っていたのですか?ここで

EDIT

は同じコンテナ示すEGPフォルダの最小バージョンです:ログインし、全体の「RUN」コマンドの動作を貼り付けしますが、ドッキングウィンドウのビルドはnot.Itは.tarファイルですありません。 (名前のいずれかなしにダウンロードかもしれませんが。)GZファイル

http://orys.us/egpbroken

+0

問題を再現するために使用できるegpフォルダの最小バージョンはありますか? – BMitch

+0

コンテキストの最小バージョンを追加しました –

答えて

1

ノード:4 - onbuild画像がfollowing Dockerfile

が含まれています10

ADDまたはRUNコマンドが実行される前に実行される3つのONBUILDコマンドが実行され、実行中のコマンドnpm installから無限ループが発生したように見えます。コンテナを直接起動すると、子画像を作成していないので、ONBUILDコマンドはスキップされます。 FROM行を次のように変更してください。

FROM node:4 

と期待される結果が得られました。

関連する問題