Node.js Docker容器无法安装NPM包
在我的docker文件中,当涉及到安装npm软件包时,我会遇到以下错误:Node.js Docker容器无法安装NPM包,node.js,docker,npm,npm-registry,Node.js,Docker,Npm,Npm Registry,在我的docker文件中,当涉及到安装npm软件包时,我会遇到以下错误: npm WARN athena@1.0.0 No description npm WARN athena@1.0.0 No repository field. npm ERR! code EAI_AGAIN npm ERR! errno EAI_AGAIN npm ERR! request to https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz failed, reas
npm WARN athena@1.0.0 No description
npm WARN athena@1.0.0 No repository field.
npm ERR! code EAI_AGAIN
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org registry.npmjs.org:443
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2018-06-05T13_33_53_797Z-debug.log
我的Dockerfile是:
FROM node:10.3-alpine
COPY . /app
WORKDIR /app
RUN npm install
EXPOSE 8080
ENTRYPOINT [ "npm run start:dev" ]
然而,在网上搜索时,按照Jkugyiya的帖子添加指令并没有解决问题。我想知道我是否正确地将该行添加到我的/etc/host
文件中
我的问题是如何让Docker在映像中安装NPM包
谢谢
编辑:
根据@Capricorn的请求,开发环境详细信息如下:
Ubuntu 18.04
Docker版本17.12
编辑2:
运行pingregistry.npmjs.org
会产生类似于以下内容的源源不断的消息。但是,在发送和接收所有数据包时,请注意时间延迟:
64 bytes from registry.npmjs.org (151.101.72.162): icmp_seq=3 ttl=53 time=333 ms
64 bytes from registry.npmjs.org (151.101.72.162): icmp_seq=4 ttl=53 time=273 ms
64 bytes from registry.npmjs.org (151.101.72.162): icmp_seq=5 ttl=53 time=317 ms
64 bytes from registry.npmjs.org (151.101.72.162): icmp_seq=6 ttl=53 time=253 ms
64 bytes from registry.npmjs.org (151.101.72.162): icmp_seq=7 ttl=53 time=301 ms
64 bytes from registry.npmjs.org (151.101.72.162): icmp_seq=8 ttl=53 time=337 ms
...
由于此问题可能与您的开发环境有关,因此有关操作系统、docker版本、docker安装方式的其他详细信息可能会很有趣。此外,你有没有运行的docker容器可以访问互联网?@Capricorn,Ubuntu18.04,docker版本17.12,docker可以访问互联网。它下载了节点:10.3-alpine off dockerhub。我还可以成功执行搜索。在执行
npm安装之前,请尝试将RUN ping registry.npmjs.org
添加到dockerfile。这应该告诉您它是否可以解析dns条目并路由出去。@Arcath我得到了错误:ping:bad address'registry.npmjs.org'
您是如何修复的?