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

Docker镜像构建无法获取Git仓库最新变更问题排查

Docker构建时Git仓库未更新的问题解决

1. 为什么第二次构建的镜像中Git仓库仍为旧版本?

Docker构建会自动复用缓存层:只要Dockerfile里的指令没有变化,Docker就会直接使用之前构建生成的对应缓存层,不会重复执行该指令。你第一次构建已经完成git clone并生成了缓存层,第二次构建时这条RUN git clone指令没修改,Docker直接复用了之前克隆好的仓库内容,完全没重新执行克隆操作,所以仓库还是旧状态,也没触发私有仓库的认证错误。

2. 无需修改Dockerfile自动获取仓库最新内容的方法

在构建命令中添加--no-cache参数,强制Docker跳过所有缓存层,重新执行每一步指令:

docker build --no-cache -t username/exam:0.2

这样构建时会重新执行git clone,此时仓库已设为私有,就会触发你预期的认证错误;如果后续仓库恢复公开,也会拉取最新的提交内容。

如果想更高效,只跳过克隆步骤的缓存(其他步骤仍复用缓存),可以用--no-cache-filter指定目标指令:

docker build --no-cache-filter="RUN git clone https://github.com/my_git_username/repo_name.git" -t username/exam:0.2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:40:35