2017-05-27 300 views
1

我在ubuntu服務器上運行docker。Docker無法安裝npm包

這似乎是一個碼頭工人的問題。從ubuntu安裝package.json工作正常。

npm http request GET https://registry.npmjs.org/express 
npm info retry will retry, error on last attempt: Error: getaddrinfo EAI_AGAIN registry.npmjs.org:443 

看來npm註冊表不可用。有任何想法嗎?

平安工作正常!

Dockerfile:

FROM node:4-slim 

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

COPY package.json /usr/src/app/ 

RUN npm install 

COPY . /usr/src/app 

EXPOSE 3000 

CMD [ "node", "server.js" ] 

內建日誌:

Sending build context to Docker daemon 66.05kB 
Step 1/8 : FROM node:4-slim 
---> cd692e27dc7f 
Step 2/8 : RUN mkdir -p /usr/src/app 
---> Running in 876d5978bdd7 
---> 4bab541344aa 
Removing intermediate container 876d5978bdd7 
Step 3/8 : WORKDIR /usr/src/app 
---> d66516529b5e 
Removing intermediate container 6317ee72e20e 
Step 4/8 : COPY package.json /usr/src/app/ 
---> 70483f422380 
Removing intermediate container c3781f622ce4 
Step 5/8 : RUN npm install 
---> Running in 37d8afdf1c21 
npm info it worked if it ends with ok 
npm info using [email protected] 
npm info using [email protected] 
npm WARN package.json [email protected] No description 
npm WARN package.json [email protected] No repository field. 
npm WARN package.json [email protected] No README data 
npm info preinstall [email protected] 
npm info attempt registry request try #1 at 10:58:13 AM 
npm http request GET https://registry.npmjs.org/express 
npm info attempt registry request try #1 at 10:58:13 AM 
npm http request GET https://registry.npmjs.org/mongoose 
npm info retry will retry, error on last attempt: Error: getaddrinfo EAI_AGAIN registry.npmjs.org:443 
npm info retry will retry, error on last attempt: Error: getaddrinfo EAI_AGAIN registry.npmjs.org:443 
npm info attempt registry request try #2 at 10:59:04 AM 
npm http request GET https://registry.npmjs.org/mongoose 
npm info attempt registry request try #2 at 10:59:04 AM 
npm http request GET https://registry.npmjs.org/express 
npm info retry will retry, error on last attempt: Error: getaddrinfo EAI_AGAIN registry.npmjs.org:443 
npm info retry will retry, error on last attempt: Error: getaddrinfo EAI_AGAIN registry.npmjs.org:443 
npm info attempt registry request try #3 at 11:00:44 AM 
npm http request GET https://registry.npmjs.org/mongoose 
npm info attempt registry request try #3 at 11:00:44 AM 
npm http request GET https://registry.npmjs.org/express 
npm ERR! Linux 4.4.0-78-generic 
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" 
npm ERR! node v4.8.3 
npm ERR! npm v2.15.11 
npm ERR! code EAI_AGAIN 
npm ERR! errno EAI_AGAIN 
npm ERR! syscall getaddrinfo 

npm ERR! getaddrinfo EAI_AGAIN registry.npmjs.org:443 
npm ERR! 
npm ERR! If you need help, you may report this error at: 
npm ERR!  <https://github.com/npm/npm/issues> 

npm ERR! Please include the following file with any support request: 
npm ERR!  /usr/src/app/npm-debug.log 
+0

請問您可以添加您的'Dockerfile'嗎? – nisevi

+0

@nisevi肯定!完成了! – robert

+1

您是否在公司網絡? – Robert

回答

0

這是一個連接問題,沒有與您的代碼做的Dockerfile是好的。

這可能是一個間歇性連接問題,或者它可能是一個網絡防火牆的限制,或其他一些瘋狂的瘋狂IP回事。

我看到了很多的運行各種工具從Internet包東西間歇性連接的問題,這只是事情他們中的一個時候。

嘗試它的機器上不同的網絡,在那裏你試圖在最後時間。

0

這是一個網絡配置問題,更可能iptables的...你設置docker0定製的範圍是多少?看看那裏。