清理或删除docker无用镜像的操作方法,


目录
  • 清除docker无用镜像
  • 一、查看 docker 占用的资源
  • 二、只删除那些未被使用的资源
    • 1、通过标签删除镜像
    • 2、通过 ID 删除镜像
    • 3、删除镜像的限制
    • 4、清理镜像
  • PS:docker 批量删除无用的容器或镜像

    清除docker无用镜像

    一、查看 docker 占用的资源

    在进行资源清理之前我们有必要搞清楚 docker 都占用了哪些系统的资源。这需要综合使用不同的命令来完成。

    docker container ls:默认只列出正在运行的容器,-a 选项会列出包括停止的所有容器。

    docker image ls:列出镜像信息,-a 选项会列出 intermediate 镜像(就是其它镜像依赖的层)。

    docker volume ls:列出数据卷。

    docker network ls:列出 network。

    docker info:显示系统级别的信息,比如容器和镜像的数量等。

    通过这些命令查看 docker 使用的资源情况后,相信你已经决定要清理 docker 占用的一些资源了!让我们先从那些未被使用的资源开始。

    二、只删除那些未被使用的资源

    Docker 提供了方便的 docker system prune 命令来删除那些已停止的容器、dangling 镜像、未被容器引用的 network 和构建过程中的 cache:

    $ docker system prune

    使用以下命令清理已经停止运行的docker容器

     docker rm $(docker ps --all -q -f status=exited)

    1、通过标签删除镜像

    通过如下两个都可以删除镜像:

    docker rmi [image]

    或者:

    docker image rm  [image]

    支持的子命令如下:

    • -f, -force: 强制删除镜像,即便有容器引用该镜像;
    • -no-prune: 不要删除未带标签的父镜像;

    2、通过 ID 删除镜像

    除了通过标签名称来删除镜像,我们还可以通过制定镜像 ID, 来删除镜像,如:

    docker rmi ID

    一旦制定了通过 ID 来删除镜像,它会先尝试删除所有指向该镜像的标签,然后在删除镜像本身。

    3、删除镜像的限制

    • 先删除引用这个镜像的容器;
    • 再删除这个镜像;

    也就是,根据上图中提示的,引用该镜像的容器 ID, 执行删除命令:

    docker rm  ID

    然后,再执行删除镜像的命令:

    docker rmi ID

    4、清理镜像

    我们在使用 Docker 一段时间后,系统一般都会残存一些临时的、没有被使用的镜像文件,可以通过以下命令进行清理:

    docker image prune

    它支持的子命令有:

    • -a, --all: 删除所有没有用的镜像,而不仅仅是临时文件;
    • -f, --force:强制删除镜像文件,无需弹出提示确认;

    PS:docker 批量删除无用的容器或镜像

    docker rm `docker ps -a | grep Exited | awk '{print $1}'`   删除异常停止的docker容器

    docker rmi -f  `docker images | grep '<none>' | awk '{print $3}'`  删除名称或标签为none的镜像

    到此这篇关于清除或删除docker无用镜像的操作方法的文章就介绍到这了,更多相关docker清理删除无用镜像内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!

    您可能感兴趣的文章:
    • Docker 删除及清理镜像的方法
    • 定时清理docker私服镜像的方法
    • docker删除拉取的镜像释放内存的操作方法
    • docker实现重新打tag并删除原tag的镜像
    • Docker中如何删除image(镜像)的方法
    • 解决Docker Image镜像无法删除问题的方法

    相关内容