Dockerfile构建间歇性报错:APT::Update::Post-Invoke脚本执行失败
间歇性GitLab流水线Docker构建失败问题
问题背景
一周前GitLab流水线运行正常,未修改Dockerfile与.gitlab-ci.yml的情况下,构建阶段开始间歇性出现APT缓存清理脚本执行失败的错误,导致流水线无法稳定完成,阻碍服务部署。
错误日志
构建阶段报错输出:
$ docker build -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:**REVOKED** -f **REVOKED**/Dockerfile . Step 1/42 : FROM nginx ---> eb4a57159180 Step 2/42 : RUN echo "Current user: $(whoami)" ---> Using cache ---> 87ad120d9e8f Step 3/42 : RUN apt-get update && apt-get -y install wget && apt-get -y install python3 && apt-get -y install git && apt-get -y install ca-certificates && apt-get -y install procps && apt-get -y install cron && apt-get -y install python3-pip && apt-get -y install logrotate ---> Running in fa2f3712df3d Get:1 http://deb.debian.org/debian bookworm InRelease [147 kB] Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB] Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB] Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8904 kB] Get:5 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [30.4 kB] Fetched 9182 kB in 2s (5286 kB/s) Reading package lists... E: Problem executing scripts APT::Update::Post-Invoke 'rm -f /var/cache/apt/archives/*.deb /var/cache/apt/archives/partial/*.deb /var/cache/apt/*.bin || true' E: Sub-process returned an error code The command '/bin/sh -c apt-get update && apt-get -y install wget && apt-get -y install python3 && apt-get -y install git && apt-get -y install ca-certificates && apt-get -y install procps && apt-get -y install cron && apt-get -y install python3-pip && apt-get -y install logrotate' returned a non-zero code: 100 Cleaning up project directory and file based variables 00:01 ERROR: Job failed: exit code 100
已尝试的无效解决方案
- 添加
RUN apt-get update -o APT::Cache::Start=25165824参数调整缓存起始位置 - 添加
RUN echo 'APT::Update::Post-Invoke {"true";};' > /etc/apt/apt.conf.d/99no-cache-clean禁用APT更新后的缓存清理脚本
当前Dockerfile起始内容
FROM nginx RUN echo "Current user: $(whoami)" RUN apt-get update && \ # apt-get upgrade -y && \ apt-get -y install wget && \ apt-get -y install python3 && \ apt-get -y install git && \ apt-get -y install ca-certificates && \ apt-get -y install procps && \ apt-get -y install cron && \ apt-get -y install python3-pip && \ apt-get -y install logrotate RUN ln -s /usr/bin/python3 /usr/bin/python RUN wget https://staticdownloads.site24x7.com/server/Site24x7InstallScript.sh RUN bash Site24x7InstallScript.sh -i -key=**REVOKED** -automation=true -gn=toronto RUN mkdir -p /opt/site24x7/monagent/plugins/nginx/ RUN wget -P /opt/site24x7/monagent/plugins/nginx/ https://raw.githubusercontent.com/site24x7/plugins/master/nginx/nginx.py RUN chmod +x /opt/site24x7/monagent/plugins/nginx/nginx.py ADD confs/site24x7/nginx.cfg /opt/site24x7/monagent/plugins/nginx/
内容的提问来源于stack exchange,提问作者Alixander Greganti
相关产品推荐
相关产品推荐

