2017-08-30 1 views
0

誰ですか?私は現在、ドッカーの作曲で流星アプリをバンドルしようとしています。最終的に私のdocker-compose.ymlファイルで呼び出されたDockerfileの最後のビルドステップに行きましたが、多くのエラーが発生しています。package.jsonを含むすべてのファイルはappディレクトリに明示的に表示されます。他の人の中には、インストールから隠されている理由はありません。ドッカー:動作しない流星アプリを束ねるためにドッキングウィンドウ・作曲...(NPMエラー)この問題で私を助けることができ


FROM ubuntu:trusty 

# Install NodeJS from Node-Source repo (node 0.10.48). 
RUN apt-get update && apt-get install -y curl 
RUN curl -sL https://deb.nodesource.com/setup | bash - 
RUN apt-get install -y nodejs 

# Add your app on /Home and install NPM modules. And clean the cache. 
RUN mkdir /home/app 
COPY app.tar.gz /tmp/app.tar.gz 
RUN tar -zxf /tmp/app.tar.gz -C /home/app 
RUN apt-get install -y python 
RUN cd /home/app/bundle/programs/server 

RUN apt-get update 
RUN npm install 
#RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 

# Expose port 80, but remember to use PORT=80 
EXPOSE 80 

# Run the app 
WORKDIR /home/app 
CMD ["node", "main.js"] 

npm ERR! install Couldn't read dependencies 
npm ERR! Linux 4.10.0-32-generic 
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" 
npm ERR! node v0.10.48 
npm ERR! npm v2.15.1 
npm ERR! path /package.json 
npm ERR! code ENOPACKAGEJSON 
npm ERR! errno 34 

npm ERR! package.json ENOENT, open '/package.json' 
npm ERR! package.json This is most likely not a problem with npm itself. 
npm ERR! package.json npm can't find a package.json file in your current directory. 

npm ERR! Please include the following file with any support request: 
npm ERR!  /npm-debug.log 
ERROR: Service 'app' failed to build: The command '/bin/sh -c npm install' returned a non-zero code: 34 

答えて

0

あなたのDockerfile内のノードをインストールする必要はありません。ここに

はエラーで私のdockerfileと以下のとおりです。ノード・ドッカー・イメージをベース・イメージとして使用します。 https://hub.docker.com/r/_/node/

次に、あなたのpythonなどを持っている追加の依存関係をインストールします。 WORKDIRドッカディレクティブを使用して、WORKDIRにファイルをコピーします。

FROM node:wheezy 

RUN mkdir /home/app 

WORKDIR /home/app 

COPY app.tar.gz . 
RUN tar -zxf app.tar.gz && npm install && apt-get update && apt-get install -y python && cd bundle/programs/server && rm -rf /var/lib/apt/lists/* 

# Expose port 80, but remember to use PORT=80 
EXPOSE 80 

# Run the app 
CMD ["node", "main.js"] 
+0

は、このような迅速な応答をありがとう!私は今、最初のエラーを過ぎたが、ビルドは最後のステップに戻り、これを返しました:エラー:アプリケーションのためにサービスアプリケーションを起動できません:ociランタイムエラー:container_linux.go:262:コンテナプロセスの開始により "exec:\"流星\「:$ PATHに見つからない実行ファイル」 ERROR:エラーが発生しましプロジェクトを育てながら。流星\ "。。:$ PATH'で見つかっていない実行ファイル私の推測では、あなたは正しい場所から' CMD'を実行していないということである '与えること80'を露出させた後、たぶん行を追加します。'「\幹部」に基づき、 –

+0

'RUN ls -lha'または' RUN echo $ PWD'。あなたのアプリケーションは '/ home/app'から実行する必要があると思います。 – eodgooch

関連する問題