docker 构建失败,退出代码为 28

问题描述 投票:0回答:2

我正在阅读 TestDriven.io 教程“AWS 上的可扩展 FastAPI 应用程序”中的“部署”章节:

https://testdriven.io/courses/scalable-fastapi-aws/deployment/

我刚刚创建了 Docker 映像文件,用于为应用程序构建和推送 Docker 映像。当我提交代码并且管道运行时,Dockerfiles 第一个 RUN 命令失败,该命令仅安装 AWS CLI、Python 和 Poetry。结果是“错误:作业失败:退出代码 28”。

Dockerfile 中失败的命令是:

    RUN apk --no-cache add \
            binutils \
            curl \
        && curl -sL https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub -o /etc/apk/keys/sgerrand.rsa.pub \
        && curl -sLO https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VER}/glibc-${GLIBC_VER}.apk \
        && curl -sLO https://github.com/sgerrand/alpine-pkg-glibc/releases/download/${GLIBC_VER}/glibc-bin-${GLIBC_VER}.apk \
        && apk add --no-cache \
            glibc-${GLIBC_VER}.apk \
            glibc-bin-${GLIBC_VER}.apk \
        && curl -sL https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o awscliv2.zip \
        && unzip awscliv2.zip \
        && aws/install \
        && rm -rf \
            awscliv2.zip \
            aws \
            /usr/local/aws-cli/v2/*/dist/aws_completer \
            /usr/local/aws-cli/v2/*/dist/awscli/data/ac.index \
            /usr/local/aws-cli/v2/*/dist/awscli/examples \
        && apk --no-cache del \
            binutils \
            curl \
        && rm glibc-${GLIBC_VER}.apk \
        && rm glibc-bin-${GLIBC_VER}.apk \
        && rm -rf /var/cache/apk/*

我通过谷歌搜索“退出代码 28”发现了一些不同的结果,但我不确定哪一个适用以及如何解决这个问题。有其他人完成了这个教程,并且可以提供一些见解吗?

amazon-web-services dockerfile
2个回答
1
投票

curl 中的退出代码 28 表示“操作超时”(请参阅https://everything.curl.dev/usingcurl/returns)。今天,当 gitlab 上的 docker 镜像尝试连接到互联网时,例如在执行

apt-get install
时,我也看到了类似的错误。但它并不是真正可重现的,每次尝试都发生在不同的连接上。

虽然我在 Twitter 上找不到能够证实这一点的人,但我怀疑 gitlab 今天遇到了一些问题。也许你稍后尝试一下就会成功。

我假设您复制并粘贴了教程中的内容。当我执行该步骤时,它对我有用,因此这些命令中没有真正的错误。


1
投票

我又运行了该作业两次:每次,它都在脚本中进一步发展,最终到达结束,它通过了,而我没有更改脚本中的任何内容。

© www.soinside.com 2019 - 2024. All rights reserved.