大佬教程收集整理的这篇文章主要介绍了node.js – 找不到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 / app中没有package.json文件(但它是我的卷所在的位置,它应该是对的吗?)
npm info it worked if it ends with ok npm info using npm@2.15.9 npm info using node@v4.5.0 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命令而不是卷,它工作得很好,我可以在docker容器内看到我的nodejs测试
NB2:我在Windows 10上,docker v1.12.0
空文件夹/丢失文件的原因是,当您将不存在的主机文件夹/文件装入容器时,这是默认设置.在您的情况下,VM中不存在/ c / Project. COPY有效,因为在构建开始之前,构建会将当前文件夹(除了.dockerignore条目)发送到Docker引擎(在VM中运行).这是通过API传输而不是进行卷装入.
以上是大佬教程为你收集整理的node.js – 找不到Docker卷和package.json全部内容,希望文章能够帮你解决node.js – 找不到Docker卷和package.json所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。