You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Buildx构建失败:APT::Update::Post-Invoke脚本执行异常

问题描述

通过CircleCI流水线构建Docker镜像时失败,该镜像从AWS ECR拉取基础镜像,最终部署在EB/EC2环境。构建报错如下:

#5 0.329 Get:1 http://deb.debian.org/debian bookworm InRelease [147 kB]
#5 0.339 Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
#5 0.339 Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
#5 0.401 Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8904 kB]
#5 0.548 Get:5 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [27.7 kB]
#5 1.597 Fetched 9179 kB in 1s (7185 kB/s)
#5 1.597 Reading package lists...
#5 2.165 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'
#5 2.165 E: Sub-process returned an error code
#5 ERROR: executor failed running [/bin/sh -c apt-get update]: exit code: 100

[dev 2/7] RUN apt-get update:


error: failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c apt-get update]: exit code: 100

使用的Dockerfile内容:

FROM python:3.9-slim as dev
ENV DEBIAN_FRONTEND=noninteractive
# Custom cache invalidation
ARG CACHEBUST=1
RUN apt-get update
RUN apt-get install -y pipenv default-libmysqlclient-dev libcurl4-openssl-dev libssl-dev

COPY Pipfile* ./
RUN pipenv install --system --deploy --dev

ENV APP_DIR=/app/withinhealth
RUN mkdir -p ${APP_DIR}
WORKDIR ${APP_DIR}


FROM dev as prod
COPY . ./
解决方案

该错误源于APT更新后的清理脚本执行失败,大概率是缓存目录权限异常或脚本逻辑冲突,以下是几种修复方式:

  • 禁用APT更新后清理脚本:在apt-get update前添加环境变量,跳过默认的清理步骤,修改后的命令为:

    RUN APT::Update::Post-Invoke ""; apt-get update
    
  • 合并APT命令并手动清理:将apt-get update和apt-get install合并为一个RUN指令,同时手动清理APT缓存,减少镜像层的同时规避脚本问题:

    RUN apt-get update && \
        apt-get install -y --no-install-recommends pipenv default-libmysqlclient-dev libcurl4-openssl-dev libssl-dev && \
        rm -rf /var/lib/apt/lists/*
    
  • 切换非slim基础镜像:若镜像体积不是核心限制,尝试使用完整版Python镜像,避免slim版本精简环境带来的兼容性问题:

    FROM python:3.9 as dev
    
  • 修复缓存目录权限:手动调整APT缓存目录的权限,确保清理脚本可正常执行:

    RUN mkdir -p /var/cache/apt/archives/partial && \
        chmod 755 /var/cache/apt/archives /var/cache/apt/archives/partial && \
        apt-get update
    

内容的提问来源于stack exchange,提问作者GiarcEnoredlac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 05:25:13