一、要清除Docker的所有缓存,你可以使用以下命令:
docker system prune
二、上述这个命令将会删除所有未使用的容器、网络、镜像(默认不包括Tag为none的)和缓存。如果你也想要删除所有未tag的镜像,可以添加-a
参数
docker system prune -a
三、如果你想要删除所有停止的容器、网络、未使用的卷和悬挂的镜像,可以使用
docker volume prune
docker network prune
if [ -n "$(docker images -f "dangling=true" -q)" ]; then
#存在悬空镜像则删除
docker rmi $(docker images -f "dangling=true" -q)
else
echo "No dangling images to remove."
fi
四、注意说明:
这些命令分别清除未使用的卷、网络和未标记为悬挂的镜像。请注意,docker rmi
命令会删除所有没有标签的镜像,这可能会破坏一些正在运行的容器,因为它们可能依赖于这些未标记的镜像。所以在运行这个命令前,请确保不会有任何正在运行的容器依赖这些未标记的镜像。
五、常用删除命令
1.删除不再使用的数据卷:
docker volume rm $(docker volume ls -q) 或者 $ docker volume prune
2.删除 build cache
docker builder prune
3.docker 系统一键清理没用的空间
docker system prune
4.键删除所有已经停止的容器
docker container prune
5.查看docker占用
docker system df