簡體   English   中英

GitLab 管道 Docker 構建卡在 apk 上

[英]GitLab pipeline Docker build gets stuck on apk

嘗試制作一個簡單的 GitLab 管道,為 Alpine Linux + Openshift CLI 構建 Docker 鏡像。

這是代碼:

FROM frolvlad/alpine-glibc:latest

MAINTAINER Daniel Widerin <daniel@widerin.net>

ENV OC_VERSION=v3.11.0 \
    OC_TAG_SHA=0cbc58b \
    BUILD_DEPS='tar gzip' \
    RUN_DEPS='curl ca-certificates gettext'

RUN apk --no-cache add $BUILD_DEPS $RUN_DEPS && \
    curl -sLo /tmp/oc.tar.gz https://github.com/openshift/origin/releases/download/${OC_VERSION}/openshift-origin-client-tools-${OC_VERSION}-${OC_TAG_SHA}-linux-64bit.tar.gz && \
    tar xzvf /tmp/oc.tar.gz -C /tmp/ && \
    mv /tmp/openshift-origin-client-tools-${OC_VERSION}-${OC_TAG_SHA}-linux-64bit/oc /usr/local/bin/ && \
    rm -rf /tmp/oc.tar.gz /tmp/openshift-origin-client-tools-${OC_VERSION}-${OC_TAG_SHA}-linux-64bit && \
    apk del $BUILD_DEPS

CMD ["/bin/sh"]

現在由於某種原因,在運行管道時,它會卡在下載 openshift 存檔的curl部分。

Status: Downloaded newer image for frolvlad/alpine-glibc:latest
 ---> 38dd85a430e8
Step 2/5 : MAINTAINER Daniel Widerin <daniel@widerin.net>
 ---> Running in bdacc7e92e79
Removing intermediate container bdacc7e92e79
 ---> c56da0a68f7f
Step 3/5 : ENV OC_VERSION=v3.11.0     OC_TAG_SHA=0cbc58b     BUILD_DEPS='tar gzip'     RUN_DEPS='curl ca-certificates gettext'
 ---> Running in cb1e6cdb39ca
Removing intermediate container cb1e6cdb39ca
 ---> 727952120e67
Step 4/5 : RUN apk --no-cache add $BUILD_DEPS $RUN_DEPS &&     curl -sLo /tmp/oc.tar.gz https://github.com/openshift/origin/releases/download/${OC_VERSION}/openshift-origin-client-tools-${OC_VERSION}-${OC_TAG_SHA}-linux-64bit.tar.gz &&     tar xzvf /tmp/oc.tar.gz -C /tmp/ &&     mv /tmp/openshift-origin-client-tools-${OC_VERSION}-${OC_TAG_SHA}-linux-64bit/oc /usr/local/bin/ &&     rm -rf /tmp/oc.tar.gz /tmp/openshift-origin-client-tools-${OC_VERSION}-${OC_TAG_SHA}-linux-64bit &&     apk del $BUILD_DEPS
 ---> Running in ef344ef4a96b
fetch http://dl-cdn.alpinelinux.org/alpine/v3.10/main/x86_64/APKINDEX.tar.gz

它保持這樣一個小時,直到管道超時。

手動嘗試了相同的 Dockerfile,它工作正常。

如何診斷此問題? 我怎樣才能找到任何日志?

發現此問題與在基於 Kubernetes/OpenShift 的運行器上以 Docker-in-Docker 配置運行時存在網絡問題的 Alpine 映像有關。 --network host添加到Docker build有助於解決這個問題。

Docker build --network host .

相關 GitHub 問題:github.com/gliderlabs/docker-alpine/issues/307

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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