我知道docker有一个--no-cache=true
选项来强制清理一个docker镜像。但对我而言,我真正想做的就是强制最后一步在我的dockerfile中运行,这是一个运行shell脚本的CMD
命令。
无论出于何种原因,当我修改该脚本并保存它时,典型的docker构建将重用该步骤的缓存版本。有没有办法强迫码头不要这样做,只是在那一部分?
答案 0 :(得分:4)
请注意,这会使该行之后所有 Dockerfile指令的缓存失效。这是Issue 1996中要求的(尚未实施)。
FROM foo
ARG CACHE_DATE=2016-01-01
<your command without cache>
docker build --build-arg CACHE_DATE=$(date) ....
这会在每次构建的ARG CACHE_DATE
行之后使缓存失效。