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

 更新时间:2023年08月28日 16:22:18   作者:怒放de生命2010  
本文主要介绍了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报错Container is not running问题及解决

    docker报错Container is not running问题及解决

    这篇文章主要介绍了docker报错Container is not running问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Docker swarm 简单使用教程

    Docker swarm 简单使用教程

    Swarm是Docker官方提供的一款集群管理工具,其主要作用是把若干台Docker主机抽象为一个整体,并且通过一个入口统一管理这些Docker主机上的各种Docker资源,接下来通过本文给大家介绍Docker swarm 简单使用,感兴趣的朋友一起看看吧
    2021-11-11
  • docke-cli的调试环境搭建过程

    docke-cli的调试环境搭建过程

    在搭建docker-cli的调试环境时,遇到很多坑,通过本文讲解下搭建docke-cli的调试环境的详细方法,需要的朋友可以参考下
    2022-11-11
  • docker compose 使用教程

    docker compose 使用教程

    这篇文章主要介绍了docker compose 使用教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • docker容器中文乱码的解决方法

    docker容器中文乱码的解决方法

    Docker默认不支持中文,在docker中部署Java运行环境,查看日志时都是乱码,下面这篇文章主要给大家介绍了关于docker容器中文乱码的解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Docker没有启动环境变量的问题解决

    Docker没有启动环境变量的问题解决

    在使用Docker容器时,有时候我们会遇到一个问题,就是在容器中没有启动环境变量,本文主要介绍了Docker没有启动环境变量的问题解决,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Docker中的images存储路径修改

    Docker中的images存储路径修改

    这篇文章主要介绍了Docker中的images存储路径修改方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • docker守护进程配置代理

    docker守护进程配置代理

    本文主要介绍了docker守护进程配置代理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • 利用Docker搭建Nexus私有仓库实现Maven私服

    利用Docker搭建Nexus私有仓库实现Maven私服

    Maven大家应该都比较熟了,我这里就用安卓人狂喜的Gradle来演示一下,在build.gradle中编写脚本即可上传,接下来通过本文给大家介绍下利用Docker搭建Nexus私有仓库实现Maven私服的问题,感兴趣的朋友一起看看吧
    2022-01-01
  • docker 设置windows存储路径的操作

    docker 设置windows存储路径的操作

    这篇文章主要介绍了docker 设置windows存储路径的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论