簡體   English   中英

Jenkins、Docker、Kubernetes、AWS EKS:運行 npm install 要么掛起要么產生 EAI_AGAIN

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM