+-

我在Dockerfile中有一些RUN命令,我想在每次构建Docker镜像时使用-no-cache运行.
我理解docker build –no-cache将禁用整个Dockerfile的缓存.
是否可以为特定的RUN命令禁用缓存?
最佳答案
总有一个选项可以在要禁用缓存的区域之前插入一些无意义且便宜的运行命令.
正如在this问题评论中提出的那样,可以添加一个构建参数块(名称可以是任意的):
ARG CACHEBUST=1
在这样的区域之前,通过添加–build-arg CACHEBUST = $(date%s)作为docker build参数来修改它的每个运行值(值也可以是任意的,这里是当前的datetime,以确保它在运行时的唯一性) .
当然,这也将禁用所有后续块的缓存,因为中间图像的哈希值将不同,这使得真正选择性缓存禁用非平凡问题,同时考虑到docker当前的工作方式.
点击查看更多相关文章
转载注明原文:docker – 禁用特定RUN命令的缓存 - 乐贴网