Express js npm install 失败原因:getaddrinfo EAI_AGAIN

Express js npm install fails reason: getaddrinfo EAI_AGAIN

我有一个 Node.JS / Express.JS 服务器端程序,我 运行 在 Node.JS docker 容器中。它在过去 ~2 年里一直在工作,现在它在安装时会产生一个奇怪的错误。 我使用 docker-compose 安装/运行 程序。

Dockerfile:

FROM node:10
ARG PORT
ENV PORT ${PORT}

# Create app directory
ADD backend /app
WORKDIR /app

RUN npm ci --only=production

EXPOSE $PORT

CMD ["npm", "run", "start-prod"]

当我尝试安装它时(使用 docker-compose,每次都失败,并显示以下消息:

Building backend
Step 1/10 : FROM node:10
 ---> a8441ebf4e4d
Step 2/10 : ARG PORT
 ---> Using cache
 ---> d985b4141806
Step 3/10 : ENV PORT ${PORT}
 ---> Using cache
 ---> e053f5bb49fa
Step 4/10 : ADD backend /app
 ---> Using cache
 ---> 409d0ab160ea
Step 5/10 : WORKDIR /app
 ---> Using cache
 ---> b7aad109486b
Step 6/10 : RUN cp environment-prod-docker.js environment.js
 ---> Using cache
 ---> 218df5ff1cff
Step 7/10 : RUN cat environment.js
 ---> Using cache
 ---> 87965e20e57e
Step 8/10 : RUN npm ci --only=production
 ---> Running in 9352da8c367e
npm WARN prepare removing existing node_modules/ before installation
npm ERR! code EAI_AGAIN                                                                                                                                                                                                                                                        
npm ERR! errno EAI_AGAIN                                                                                                                                                                                                                                                       
npm ERR! request to https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org registry.npmjs.org:443                                           

我了解到这可能是代理错误。我尝试更改为我的家庭 wifi、我的家庭电缆和移动数据:仍然产生相同的错误。如果我复制 link,我可以从浏览器下载所述 .tgz 文件。

两天后这个问题就消失了(同一个网络,同一个电脑等等)

估计跟评论说的有关