Docker 构建缓存不断增长

标签 docker caching dockerfile

在我的持续交付过程中,我每天晚上都会部署一个容器,其中包含我应用程序的最后一次构建。但是随着每次迭代,docker 构建缓存都在增长...... 以下是每晚应用的命令:

docker rm $(docker stop $(docker ps -a -q --filter ancestor=myApplication --format="{{.ID}}")) 
docker rmi $(docker images -f "dangling=true" -q)
docker build -t myApplication . --rm
docker run -d -p 9090:8080 -v C:\localFolder:/usr/local/mountedFolder myApplication

当我检查 docker system df 时,我发现构建缓存随着每次构建而增长。有没有办法确保删除未使用的缓存?

最佳答案

构建缓存是 buildkit 的一部分,在 docker 中作为图像或容器不可见。 Buildkit 本身直接与 containerd 对话,并且只将结果输出给 docker。您可以使用以下方法修剪缓存:

docker builder prune

并且有一些标志可以根据大小和年龄来保持存储。您可以在 docker 文档中看到更多信息:https://docs.docker.com/engine/reference/commandline/builder_prune/

关于Docker 构建缓存不断增长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67634276/

相关文章:

java - 缓存不适用于 Spring 3.0、Hibernate 3.6 和 EhCache 2.6.6

Hibernate 延迟加载和 Hazelcast

docker - 如何保持无限循环运行以不关闭Docker中的容器

docker - 列出 Docker 容器的卷

docker - 删除了 Kubernetes 部署但节点(docker)容器不断重新创建自己

java - 无法使用IntelliJ在Docker容器内调试Websphere Application Server

go - 忽略 librd kafka 中的测试

django - 两个 Django 项目、一个 Postgresql 数据库和 Docker

caching - Varnish 3.0 返回 503 错误

Docker CLI env var 值覆盖在启动时不受容器尊重