[英]Jenkins,Docker,Kubernetes,AWS EKS: RUN npm install either hangs or produces EAI_AGAIN
首先,我對部署 CICD 構建完全陌生。
我從通過本指南在 AWS EKS 集群上成功設置 Jenkins X 開始。
我能夠通過 GitHub 運行管道並在普通的 jx 快速入門上成功構建。
當我開始推送我的 node express 應用程序時出現了問題。
在高山節點基礎上,我的 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 步驟時掛起(或花費很長時間)。
我已經搜索了可能的答案和重復的問題,但無濟於事。 所以我最后求助於這里。
老實說,我不知道發生了什么。
我通過在引導 EKS 工作節點時啟用 docker 橋接網絡設法解決了這個問題。
#!/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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.