2016-04-13 8 views
0

POST /ビルドにDocker Remote APIを使用しようとしています。ノードとDockerodeを使用したDockerリモートAPIのビルド

My Dockerfileは次のようになります。

FROM node:5.8.0 

COPY . /my-project 

WORKDIR /my-project 

RUN npm install 

CMD ["node", "server.js"] 

この正確なファイルは、APIに必要なものです。この正確なファイルは.tarにあります。問題は、npmをインストールするときを除いてコマンドを実行することです.package.jsonが見つからないということです。実際、/ my-projectディレクトリ内の唯一のものはDockerfileです。それは実際のディレクトリをコピーする方法を理解していないようです。

ドックノードノードモジュールを使用しています。

var Docker = require('dockerode'); 
var docker = new Docker(); 

docker.buildImage('Dockerfile.tar', {t: 'myproject'}, function(err, stream) { 
    if(err) return; 

    stream.pipe(process.stdout, {end: true}); 

    stream.on('end', function() { 
    done(); 
    }); 
}); 

私はそう

docker build . 

のようなディレクトリ内に自分の端末からコマンドを使って実行すると、それは完全に罰金構築し、その後、私は実行することができ、ローカル私のコンテナにアクセスします。

+0

.tarファイルのパスは何ですか?このファイル(.tarファイル)を/ my-projectフォルダにコピーしますか? –

+0

tarファイルは、実行されたディレクトリのローカルです。 Dockerfile.tarが見つかりました 私はノードtest.jsで実行し、tarファイルはtest.jsと同じレベルにあります – savv

答えて

0

人的ミス。

/my-projectの内容もタールに入れる必要がありました。そうすれば、 COPY . /my-projectが実行されると、.tarの内容がdirにコピーされます。

関連する問題