我无法确定 Docker 的本地构建缓存是否被自动清除。
如果被清除,多久清除一次?这是我们可以配置的东西吗?是否有年龄限制或总缓存大小限制?
请注意,这个问题不是关于如何在构建镜像时绕过缓存,也不是如何手动清除缓存,也不是如何利用缓存机制来加速 Docker 构建。这些问题已经被广泛记录。这个问题的目的是找出 Docker 内部如何管理其构建缓存。如果不手动清除,它会永远存在吗?它会自行过期吗?如何?
最佳答案
docker 的构建缓存基于 image
您在本地拥有的。图像永远不会被自动删除,所以本质上构建缓存永远不会被删除
docker 决定是否使用缓存的方式包括检查上一层和正在运行的命令是否相同
如果您删除了用于满足缓存的图像,您可以考虑“清除缓存”(另外 docker system prune -f
将删除任何也可能是缓存组件的匿名图像)
关于docker - Docker 构建缓存是否会自动清除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58955773/