TestDriven.io 教程 "Scalable FastAPI Applications on AWS":添加 Docker CI/CD 图像失败,退出代码为 28

TestDriven.io Tutorial "Scalable FastAPI Applications on AWS": adding Docker CI/CD image fails with exit code 28

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

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

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

Docker文件中失败的命令是:

    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”发现了一些不同的结果,但我不确定哪一个适用以及如何解决这个问题。是否还有其他人完成了本教程,并且可以提供一些见解?

curl 中的退出代码 28 表示“操作超时”(参见 https://everything.curl.dev/usingcurl/returns)。我今天在 gitlab 上的 docker 图像尝试连接到互联网时看到了类似的错误,例如在执行 apt-get install 时。虽然它并不是真正可重现的,但每次尝试都发生在不同的连接上。

虽然我在 Twitter 上找不到能够证实这一点的人,但我怀疑 gitlab 今天有一些问题。也许如果你稍后尝试它会起作用。

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

我又 运行 重复了两次作业:每次,它都在脚本中走得更远一点,最终到最后,它通过了,我没有改变脚本中的任何内容。