docker容器查看所有没使用的镜像,并删除

简介: 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 发现多了二十多个磁盘空间。


大功告成~!!!

相关文章
|
1天前
|
运维 Linux Docker
Docker详解(四)——Docker换源与镜像拉取
Docker详解(四)——Docker换源与镜像拉取
20 0
|
2天前
|
存储 Kubernetes Docker
Kubernetes(K8S)集群管理Docker容器(概念篇)
Kubernetes(K8S)集群管理Docker容器(概念篇)
|
3天前
|
存储 Ubuntu 安全
Docker容器常用命令
Docker容器常用命令
13 1
|
3天前
|
存储 Ubuntu Linux
[Docker] 镜像讲解
[Docker] 镜像讲解
|
5天前
|
运维 前端开发 Devops
云效产品使用报错问题之流水线打包docker镜像时报网络代理有问题如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
9天前
|
存储 运维 监控
构建高效稳定的Docker容器监控体系
【4月更文挑战第18天】 在现代微服务架构中,Docker容器已成为部署和运行应用的标准环境。随之而来的挑战是如何有效监控这些容器的性能与健康状况,确保系统的稳定性和可靠性。本文将探讨构建一个高效稳定的Docker容器监控体系的关键技术和方法,包括日志管理、性能指标收集以及异常检测机制,旨在为运维人员提供实用的指导和建议。
13 0
|
17天前
|
应用服务中间件 Docker 容器
docker 镜像常用命令
docker 镜像常用命令
39 0
|
17天前
|
Linux Docker 容器
docker 容器常用命令
docker 容器常用命令
13 0
|
17天前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
28 0
|
17天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
32 0