2016-08-18 13 views
3

ドッキングステーションを学習していて、nodejsアプリケーションでボリュームを扱う際にいくつか問題があります。ドッカーボリュームとpackage.jsonが見つかりません

実際、私はコンテナを再起動するたびにテストしたい簡単なアプリケーションを持っています。

この方法では、私は次のようdockerfile持っている:今

FROM node:4-onbuild 

RUN mkdir -p /usr/src/app 
WORKDIR /usr/src/app 

CMD [ "npm", "test" ] 

を、私は使用してイメージを構築しています:

docker build -t myapp . 

をそして、私は以下のスクリプトを使用してそれを実行しようとした:

docker run -v //c/Project/nodejs/my-app:/usr/src/app my-app 

または

docker run -v /c/Project/nodejs/my-app:/usr/src/app my-app 

あるいは

docker run -v c:/Project/nodejs/my-app:/usr/src/app my-app 

私はは/ usr/src /アプリの内部でpackage.jsonファイルを持っていない(しかし、私のボリュームが配置されている場所、それはだと私に語った次のエラーを持って、それが権利でなければなりません)

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 

NB:?私は代わりにボリュームのCOPYコマンドを使用している場合、それは素晴らしい作品、と私は

NB2ドッキングウィンドウコンテナの内側に私のnodejsテストを見ることができます:私は上のmは窓10、ドッカーv1.12.0

答えて

4

Docker for Windowsは、コンテナを内部で実行するVMで動作します(それでもLinuxホストが必要です)。ホストボリュームをマウントすると、そのボリュームはLinuxホストにマウントされます。 Linux VMから親Windows OSにマウントされる唯一のディレクトリは、c:/ Usersで、VM内の/ c/Usersとして表示されます(docker's volume tutorial参照)。プロジェクトをUsersの下のディレクトリに移動し、マウントします。

空のフォルダ/ファイルが見つからない理由は、存在しないホストフォルダ/ファイルをコンテナにマウントするときのデフォルトです。あなたの場合、/ c/ProjectはVMに存在しません。 COPYは、ビルドを開始する前に、現在のフォルダ(.dockerignoreエントリを除く)をDockerエンジン(VM内で実行中)に送信するため、動作します。これは、ボリュームマウントを行うのではなく、APIを介して送信されます。

+0

VMの起動用bashスクリプトに行を追加することで、起動時にVMにボリュームをマウントするなどの方法があります(https://stackoverflow.com/a/32030385/404699)。 – steampowered

関連する問題