加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

node.js – 在CentOS上运行Docker的NPM安装错误

发布时间:2020-12-16 03:40:08 所属栏目:安全 来源:网络整理
导读:我正在按照本教程对dock.js应用程序进行dockerize,它总是在Dockerfile的npm install部分失败.这是教程的链接:http://docs.docker.com/examples/nodejs_web_app/ 我得到的错误如下所示: npm ERR! install Couldn't read dependenciesnpm ERR! Error: ENOENT

我正在按照本教程对dock.js应用程序进行dockerize,它总是在Dockerfile的’npm install’部分失败.这是教程的链接:http://docs.docker.com/examples/nodejs_web_app/

我得到的错误如下所示:

npm ERR! install Couldn't read dependencies
npm ERR! Error: ENOENT,open '/src/package.json'
npm ERR! If you need help,you may report this log at:
npm ERR!     

我搜索了多个来源,我不知道为什么npm找不到’package.json’文件.我也做了相同的设置,除了使用ubuntu 14.04图像,这也不起作用,但如果我手动进入图像并自己启动nodejs服务器,它就可以工作.

如果任何对docker或npm有更多经验的人可以帮助解决这个问题,那就太好了.

谢谢!

最佳答案
我遇到了同样的问题,看来Docker教程有点含糊不清,如果你不理解COPY的行为,就很容易弄乱目录树.

我有这个目录树:

workdir/Dockerfile
workdir/src/package.json
workdir/src/index.js

命令COPY. / src导致Docker镜像中的以下树:

/src/Dockerfile
/src/src/package.json
/src/src/index.js

所以基本上,将package.json和index.js放在与Dockerfile相同的文件夹中,它应该可以正常工作.

另一件事是,在调试这样的失败构建时,即使容器未运行,您也可以使用映像ID查看目录树.例如,给定以下docker构建输出:

Step 4: RUN cd /src; npm install
 ---> Running in 4bce6ad89dab
 ---> 3084f3523d93
ERROR! BAD THINGS! PANIC!

在这种情况下,映像ID是3084f3523d93,因此您可以运行docker run –rm 3084f3523d93 ls -lR / src来检查/ src目录并查看出错的地方.或者,使用/ bin / bash代替ls -lR / src来获取shell并进行搜索.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读