docker容器和镜像的删除命令,docker怎么删除镜像文件

docker容器和镜像的删除命令,docker怎么删除镜像文件,Docker删除及清理镜像的方法

本文主要介绍Docker删除和清理图像的方法,通过实例代码进行了详细介绍,具有一定的参考价值。感兴趣的朋友可以参考一下。

: 目录

1.通过标签2删除图像。通过ID 3删除图像。删除图像的限制4。清理图像。

一、通过标签删除镜像

您可以通过以下任一方式删除镜像:

docker RMI[图片]

或者:

docker图像RM[图像]

支持的子命令如下:

-f,-force:强制删除镜像,即使容器引用了镜像;-no-prune:不删除未标记的父镜像;

例如,我们想删除上一章创建的allen_mysql:5.7映像。该命令如下所示:

docker rmi allen_mysql:5.7

从上一章我们知道allen_mysql:5.7和docker.io/mysql:5.7实际上指向同一个镜像。所以,你可以问,我删除了allen_mysql:5.7,会不会也删除了docker.io/mysql:5.7镜像?

实际上,当同一个图像有多个标签时,执行docker rmi命令只会删除图像的众多标签中你指定的那个标签,并不会影响原始图像文件。

如果您不相信我,我们可以执行docker images命令来查看docker.io/mysql:5.7映像是否还在:

如你所见,docker.io/mysql:5.7镜仍然存在!

然后,如果某个镜像没有多个标签,当且仅当只有一个标签时,执行删除命令时应该小心,这将完全删除镜像。

例如,此时,我们将执行docker RMI docker.io/mysql:5.7命令:

从上图可以看出,我们已经删除了docker.io/mysql:5.7图像的所有文件层。镜像不再存在于本地!

二、通过 ID 删除镜像

除了通过标记名删除镜像之外,我们还可以通过设置镜像ID来删除镜像,例如:

码头工人rmi ee7cbd482336

一旦镜像被ID删除,它将首先尝试删除所有指向镜像的标签,然后删除镜像本身。

三、删除镜像的限制

删除镜像很简单,但是不能随时随地删除。它有一些局限性。

如果由该镜像创建的容器未被销毁,则不能删除该镜像。为了验证这一点,我们来做一个实验。首先,我们通过docker pull alpine命令拉最新的alpine图像,然后启动图像并让它输出hello,docker!

接下来,让我们尝试删除此图像:

您可以看到提示消息,并且您不能删除镜像,因为有一个容器正在引用它!同时,这条消息也告诉我们,只有添加-f子命令,即强行删除,才能删除图像!

docker.io/alpine码头

但是,我们一般不建议这样暴力的做法。正确的做法应该是:

首先删除引用此镜像的容器;再次删除此图像;

即根据上图的提示,参照该图片的容器ID (9d59e2278553)执行删除命令:

档案员rm 9d59e2278553

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

码头编号rmi 5cb3aa00f899

这时候就可以正常删除了!

四、清理镜像

在我们使用Docker一段时间后,系统中会残留一些临时未使用的镜像文件,可以通过以下命令清理这些文件:

docker图像修剪

它支持的子命令有:

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

另外,执行docker镜像修剪命令后,告诉我们释放了多少存储空间!

关于Docker删除和清理图片的方法这篇文章到此为止。关于Docker删除和清理图像的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

docker容器和镜像的删除命令,docker怎么删除镜像文件