docker容器查看所有没使用的镜像并删除的实现
场景
最近工作中遇到服务器磁盘紧张的情况,想到docker镜像和容器可以删除些不用的,省出来一些空间。具体操作如下:
1. 删除不用的容器
首先执行命令 docker ps -a
查看容器列表,可以看到很多 exited的容器,表示这些容器已经退出,没用了。

删除无效容器
查询出所有的Exited的容器, 执行 docker rm 容器id 进行删除。
2. 删除不用的镜像
执行 docker images 查看镜像,

可以看到很多是没有用的镜像(显示为None的),还有些镜像看不出来,是否使用了。
可以执行下面的脚本
#!/bin/bash
# 获取所有正在运行的容器ID
running_containers=$(docker ps -q)
# 获取所有镜像列表
all_images=$(docker images --format "{{.Repository}}:{{.Tag}}")
# 遍历每个镜像,并检查是否有容器在使用
for image in $all_images; do
# 检查该镜像是否被任何容器使用
if [[ -z $(docker ps -q --filter "ancestor=$image") ]]; then
# 检查该镜像是否为正在运行的容器使用的基础镜像
if ! grep -q "$image" <<< "$running_containers"; then
echo "未使用的镜像:$image"
docker rmi "$image"
fi
fi
done删除完了,再测试下 df -h 发现多了二十多个磁盘空间。
到此这篇关于docker容器查看所有没使用的镜像并删除的实现的文章就介绍到这了,更多相关docker查看没使用镜像内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
用Docker swarm快速部署Nebula Graph集群的教程
这篇文章主要介绍了用Docker swarm快速部署Nebula Graph集群的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-09-09
Linux环境docker部署Firefox结合内网穿透远程使用浏览器测试的示例详解
在Docker中打开Firefox意味着我们将在一个Docker容器中运行Firefox浏览器,这对于一些特殊的测试场景非常有用,例如需要在不同版本的浏览器中进行测试,下面是一个简单的示例,演示如何在Docker中打开Firefox,感兴趣的朋友跟随小编一起看看吧2024-08-08
docker 如何搭建私有仓库(ubuntu 14.04,Docker版本1.6.4)详细介绍
这篇文章主要介绍了docker 如何搭建私有仓库(ubuntu 14.04,Docker版本1.6.4)详细介绍的相关资料,需要的朋友可以参考下2017-01-01
docker-compose快速搭建docker私有仓库的步骤
这篇文章主要介绍了docker-compose快速搭建docker私有仓库的步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-12-12


最新评论