我在學習docker,並且遇到了一些處理nodejs應用程序上的音量的麻煩。未找到Docker卷和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
注意:?如果我用COPY命令,而不是體積,它的偉大工程,我能看到泊塢窗容器內
NB2我的NodeJS測試:我爲上窗戶10,碼頭v1.12.0
有很多方法可以解決這個問題,比如在引導時通過向VM的啓動bash腳本添加行來將卷掛載到VM上https://stackoverflow.com/a/32030385/404699 – steampowered