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


大功告成~!!!

相关文章
|
5天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
23 2
|
3天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
7天前
|
运维 持续交付 Docker
深入理解Docker容器化技术
深入理解Docker容器化技术
|
4天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。
|
5天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
5天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
5天前
|
安全 持续交付 Docker
微服务架构和 Docker 容器化部署的优点是什么?
微服务架构和 Docker 容器化部署的优点是什么?
|
7天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
7天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
7天前
|
NoSQL Redis Docker
【赵渝强老师】使用Docker Compose管理容器
Docker Compose 通过 YAML 文件管理多个容器,简化复杂系统的部署和管理。本文介绍了 Docker Compose 的基本概念,并通过一个包含 Redis DB 和 Python Web 模块的示例,展示了如何使用 Docker Compose 部署和管理多容器应用。手动部署和 Docker Compose 部署的对比突显了 Docker Compose 在系统复杂度增加时的优势。