【问题标题】:Jenkins,Docker,Kubernetes,AWS EKS: RUN npm install either hangs or produces EAI_AGAINJenkins、Docker、Kubernetes、AWS EKS:RUN npm install 要么挂起要么产生 EAI_AGAIN
【发布时间】:2019-08-19 21:28:09
【问题描述】:

首先,我对部署 CICD 构建完全陌生。

我开始通过这个在 AWS EKS 集群上成功设置 Jenkins X guide.

我能够通过 GitHub 运行管道并在正常的 jx 快速入门上成功构建。

当我开始推送我的 node express 应用程序时出现了问题。

在 alpine 节点基础上,我的 dockerfile 看起来像这样:

FROM node:10.15.3-alpine
RUN mkdir -p /app/node_modules && chown -R node:node /app
WORKDIR /app
COPY package*.json ./
RUN npm ci --prod
FROM alpine:3.7
COPY --from=0 /usr/bin/node /usr/bin/
COPY --from=0 /usr/lib/libgcc* /usr/lib/libstdc* /usr/lib/
WORKDIR /app
COPY --from=0 /app .
EXPOSE 3000
CMD ["node", "server.js"]

它因错误而终止:

Step 5/14 : RUN npm ci --prod
 ---> Running in c7f038a80dcc
[91mnpm[0m[91m ERR! code EAI_AGAIN
[0m[91mnpm ERR! errno EAI_AGAIN
[0m[91mnpm ERR![0m[91m request to https://registry.npmjs.org/express/-/express-4.16.4.tgz failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org registry.npmjs.org:443
[0mtime="2019-03-28T08:26:00Z" level=fatal msg="build failed: building [community]: build artifact: The command '/bin/sh -c npm ci --prod' returned a non-zero code: 1"

我尝试使用非高山基地,结果是这样的:

FROM node:10-slim
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
ENV PORT 3000
EXPOSE 3000
CMD ["npm", "start"]

但是,问题是构建在到达 RUN npm install 步骤时会挂起(或花费很长时间)。

我已经搜索了可能的答案和重复的问题,但无济于事。所以我最后求助于这里。

老实说,我不知道发生了什么。

【问题讨论】:

  • getaddrinfo EAI_AGAIN registry.npmjs.org - 这清楚地表明问题出在 DNS 解析上。您是否尝试使用dig 之类的方法对其进行故障排除?例如。什么命令dig registry.npmjs.orgdig registry.npmjs.org @8.8.8.8 返回(安装digapk add bind-tools,如果需要)?请分享/etc/resolv.conf
  • @VeeBee 你解决了吗?我对 EKS 也有同样的问题。但是当我尝试加入代理时,我可以 curl registry.npmjs.org。这很奇怪。

标签: node.js amazon-web-services docker jenkins kubernetes


【解决方案1】:

我通过在引导 EKS 工作节点时启用 docker bridge 网络设法解决了这个问题。

#!/bin/bash
set -o xtrace
/etc/eks/bootstrap.sh --enable-docker-bridge true 'your-cluster-name'

此 Github 问题的更多详细信息:https://github.com/awslabs/amazon-eks-ami/issues/183

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 2017-01-04
    • 1970-01-01
    相关资源
    最近更新 更多