排查思路很实用,尤其是强调“后续层删除并不会缩小历史层”,这个点很容易被忽略。我之前遇到过一次镜像暴增,最后发现是 COPY 把本地测试报告和缓存目录一起带进去了。除了配置 .dockerignore,也建议在 CI 中保存 docker image history 结果,并设置体积增长阈值。多阶段构建完成后,还要实际启动容器验证证书、时区和动态库是否齐全,避免镜像变小了,运行环境却缺少必要依赖。...
补充一个容易踩坑的点:即使认证文件在同一条 RUN 里删除,也要留意包管理器的缓存、错误日志和锁文件是否记录了带令牌的仓库 URL。实际排查时可以先用测试凭据完成一次构建,再导出镜像逐层搜索该凭据及其片段,同时检查 CI 日志、远程缓存和构建制品。建议将 Dockerfile 静态检查、敏感信息扫描和镜像文件系统扫描设为流水线必过项;一旦命中真实凭据,应先撤销或轮换,再处理镜像、缓存与日志,避免只...