ドッカーを学んでいて、Nodejsを使って開発環境のボリュームにいくつか問題があります。nodejsとボリュームを使ったDocker Runningテスト
私はnodejs親画像からの私のユニットテストを開始することを目指し、以下の簡単なdockerfile持つ:私は私のコンテナこの方法で実行メートル
FROM node:4-onbuild
VOLUME ["/usr/src/app"]
CMD [ "npm", "test" ]
:
docker run -v /C/Users/myUser/dockertest:/usr/src/app notest
をしかし、私はいつもm個次のエラー:
npm info it worked if it ends with ok
npm info using [email protected]
npm info using [email protected]
npm ERR! Linux 4.4.15-moby
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "test"
npm ERR! node v4.5.0
npm ERR! npm v2.15.9
npm ERR! path /usr/src/app/package.json
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open '/usr/src/app/package.json'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! Please include the following file with any support request:
npm ERR! /usr/src/app/npm-debug.log
私はなぜ私が見つけることができないのですか?私のコンテナの中にある/ usr/src/appフォルダ内のpackage.json。
事実が、私は、次のドッキングウィンドウのファイル使用してmの場合ということです:
FROM node:4-onbuild
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
CMD [ "npm", "test" ]
を私のテストは、コンテナ内で実行されますが、唯一のステップを構築した後、(私は、私は変更を行うたびに構築する必要が...)。私は、ドッキングウィンドウのコマンドを起動して(?幹部を再起動?)、これらのテストに私が好きな時間を再生する必要があなたの助け
私はボリュームがコンテナの開始時にリンクしていると思う。つまり、あなたのWORKDIRは実際には、イメージの作成時に作成されたため、空のリンクボリュームではありません。 –
最初の場合でも?最初のドッカーファイルを動作させるにはどうすればよいですか? – mfrachet
リンク元ではなくコピーを使用してソースコードを挿入してください。 –