检查docker是否使用缓存进行构建

时间:2015-12-16 11:57:47

标签: docker

有没有办法检查Docker是否在 Docker build 每个步骤中使用了缓存?

成功构建的返回值为0 - 没有说明是否使用缓存执行了步骤。

我在circleci环境中运行的bash脚本中执行docker命令,如果每个构建步骤都通过缓存运行,我想跳过 Docker save

感谢您的回答。

2 个答案:

答案 0 :(得分:1)

我怀疑最简单的方法是在图像ID上进行比较 - 如果没有更改,则必须使用缓存。

答案 1 :(得分:0)

关于缓存的一个有趣的事情是,一旦一个命令使其无效,所有以下命令都会跳过它。来自docs

  

缓存失效后,所有后续Dockerfile命令都将生成新图像,并且不会使用缓存。

这意味着如果你的最后一步被缓存,那么它之前的所有其他步骤也会被缓存 - 而且你的图像没有改变。