Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍Docker CLI 中 docker image prune 常用命令。

1、docker image prune 简介

docker image prune 是用于清理本地Docker镜像,删除所有未被使用的和带有指定ID的Docker镜像。移除所有悬挂的镜像。如果指定-a,也会删除所有没有被任何容器引用的镜像。

参考文档:https://docs.docker.com/engine/reference/commandline/image_prune/

2、docker image prune 语法

docker image prune [OPTIONS]

3、docker image prune 命令

1)删除没有使用过的Docker镜像

docker image prune -a

2)指定镜像ID来删除Docker镜像

docker image prune -a --filter "id=<IMAGE-ID>"

3)删除了超过10天(240h)前创建的镜像

 docker image prune -a --force --filter "until=240h"

4)使用过滤器(filter)来指定要删除的Docker镜像

until: 只删除在指定时间戳(timestamp)之前创建的Docker镜像。

语法:

--filter "until=<timestamp>"

label: 只删除带有指定标签(label)的Docker镜像,或删除未带有指定标签的Docker镜像。

语法:

删除带有指定标签的Docker镜像:--filter "label=<key>=<value>"

删除未带有指定标签的Docker镜像:--filter "label!=<key>=<value>"

其中,和是自定义的标签名称和值。

要删除创建时间早于2021年1月1日的所有Ubuntu镜像,命令如下,

docker image prune -a --filter "until=2021-01-01" --filter "label=org.label-schema.vendor=Ubuntu"

4、命令选项

命令

描述

--all , -a

删除所有未使用的镜像,

而不仅仅是悬挂的镜像

--filter

提供过滤器值(例如,until=)

--force , -f

不提示确认

5、子命令

命令

描述

docker image build

从Dockerfile构建镜像

docker image history

显示图像的历史

docker image import

从压缩包中导入内容以创建文件系统映像

docker image inspect

显示一个或多个镜像的详细信息

docker image load

从tar存档文件或STDIN加载镜像

docker image ls

镜像列表

docker image prune

移除未使用的镜像

docker image pull

从registry下载镜像

docker image push

上传镜像到registry

docker image rm

删除一个或多个镜像

docker image save

保存一个或多个镜像到tar存档(默认流式到STDOUT)

docker image tag

创建一个指向SOURCE_IMAGE的TARGET_IMAGE标签

推荐文档

相关文档

大家感兴趣的内容

随机列表