查询磁盘使用情况
[root@harbor ~]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 59 30 42.28GB 23.9GB (56%)
Containers 30 23 5.1GB 993.2MB (19%)
Local Volumes 15 12 3.721GB 89B (0%)
Build Cache 2047 0 91.33GB 91.33GB
1、清除 Docker 的构建缓存(Build Cache)以释放磁盘空间,可以使用以下方法:
- 使用 docker builder prune
Docker 提供了一个命令来清除构建缓存。你可以使用 docker builder prune 来删除未使用的构建缓存。
删除所有未使用的构建缓存:
docker builder prune
强制删除所有未使用的构建缓存(无需确认):
docker builder prune -f
删除所有未使用的构建缓存,包括未使用的镜像:
docker builder prune --all
使用 --all 选项将删除所有构建缓存,包括那些可能在将来构建中有用的缓存。
2、 清理构建过程中产生的中间镜像
在构建 Docker 镜像时,可能会产生许多中间镜像。这些中间镜像可以通过以下命令清理:
docker image prune
3、 使用 docker system prune
如果你想要更全面的清理,可以使用 docker system prune,这将删除所有未使用的容器、网络、镜像和构建缓存。
删除所有未使用的对象:
docker system prune
删除所有未使用的对象,包括未使用的镜像:
docker system prune -a
注意:使用 -a 选项时,会删除所有未使用的镜像,包括中间镜像。
4、清除 Docker 中未使用的数据卷
docker volume prune
说明
docker volume prune:该命令会删除所有未被任何容器使用的数据卷。执行此命令后,Docker 会要求你确认是否要删除这些未使用的卷。输入 y 确认删除。
注意事项
-
数据丢失:删除未使用的卷会导致其中存储的数据被永久删除。因此,在执行此命令前,请确保这些卷中的数据不再需要。
-
备份:如果你不确定某些卷中的数据是否还会用到,建议先备份数据。
-
检查未使用的卷:在删除之前,你可以通过以下命令列出所有卷,并检查哪些卷未使用:
docker volume ls
这种方法是清理 Docker 环境中未使用数据卷的有效方式,尤其是在频繁创建和删除容器的开发环境中。