有没有办法检查Docker是否在 Docker build 的每个步骤中使用了缓存?
成功构建的返回值为0 - 没有说明是否使用缓存执行了步骤。
我在circleci环境中运行的bash脚本中执行docker命令,如果每个构建步骤都通过缓存运行,我想跳过 Docker save 。
感谢您的回答。
答案 0 :(得分:1)
我怀疑最简单的方法是在图像ID上进行比较 - 如果没有更改,则必须使用缓存。
答案 1 :(得分:0)
关于缓存的一个有趣的事情是,一旦一个命令使其无效,所有以下命令都会跳过它。来自docs:
缓存失效后,所有后续Dockerfile命令都将生成新图像,并且不会使用缓存。
这意味着如果你的最后一步被缓存,那么它之前的所有其他步骤也会被缓存 - 而且你的图像没有改变。