【发布时间】: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.org和dig registry.npmjs.org @8.8.8.8返回(安装dig和apk add bind-tools,如果需要)?请分享/etc/resolv.conf。 -
@VeeBee 你解决了吗?我对 EKS 也有同样的问题。但是当我尝试加入代理时,我可以 curl registry.npmjs.org。这很奇怪。
标签: node.js amazon-web-services docker jenkins kubernetes