1、docker rmi 简介
docker rmi
命令用于删除本地的一个或多个镜像。如果想要删除正在使用的镜像,需要先停止使用该镜像的容器。从主机节点删除(取消标记)一个或多个镜像。如果镜像有多个标签,将标签作为参数使用此命令只会删除标签。如果图像只有标签,则同时删除镜像和标签。
这不会从仓库中删除镜像。除非使用-f
选项,否则不能删除正在运行的容器的镜像。要查看主机上的所有镜像,使用docker image ls
命令。
参考文档:https://docs.docker.com/engine/reference/commandline/rmi/
2、docker rmi 语法
docker rmi [OPTIONS] IMAGE [IMAGE...]
3、docker rmi 命令
可以使用短 ID、长 ID、标记或摘要删除镜像。如果一个镜像有一个或多个引用它的标记,那么在删除该镜像之前,必须先删除所有标记。当通过标记删除镜像时,摘要引用会自动删除。
docker images REPOSITORY TAG IMAGE ID CREATED SIZE test1 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) test latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) test2 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) docker rmi fd484f19954f Error: Conflict, cannot delete image fd484f19954f because it is tagged in multiple repositories, use -f to force 2013/12/11 05:47:16 Error: failed to remove one or more images docker rmi test1:latest Untagged: test1:latest docker rmi test2:latest Untagged: test2:latest docker images REPOSITORY TAG IMAGE ID CREATED SIZE test latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) docker rmi test:latest Untagged: test:latest Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8
以上示例中,首先列出了所有可用的镜像,然后删除了三个不同的标记,最后检查了剩余的镜像列表,并删除了其中一个标记。
使用 -f
标志并指定镜像的短或长 ID 时,此命令将取消标记并删除与指定ID匹配的所有镜像。
docker images REPOSITORY TAG IMAGE ID CREATED SIZE test1 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) test latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) test2 latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB) docker rmi -f fd484f19954f Untagged: test1:latest Untagged: test:latest Untagged: test2:latest Deleted: fd484f19954f4920da7ff372b5067f5b7ddb2fd3830cecd17b96ea9e286ba5b8
以上示例中,使用 -f
标志并指定镜像的短 ID,从而立即删除了匹配该 ID 的镜像。
使用摘要拉取的镜像没有相关联的标记:
docker images --digests REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE localhost:5000/test/busybox <none> sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf 4986bf8c1536 9 weeks ago 2.43 MB
以上示例中,列出了所有镜像的摘要。
要使用摘要删除镜像,请运行以下命令:
docker rmi localhost:5000/test/busybox@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf Untagged: localhost:5000/test/busybox@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf Deleted: 4986bf8c15363d1c5d15512d5266f8777bfba4974ac56e3270e7760f6f0a8125 Deleted: ea13149945cb6b1e746bf28032f02e9b5a793523481a0a18645fc77ad53c4ea2 Deleted: df7546f9f060a2268024c8a230d8639878585defcc1bc6f79d2728a13957871b
以上示例中,通过指定完整的镜像名称和摘要,立即删除了匹配该摘要的镜像。
4、命令选项
选项 | 默认值 | 描述 |
--force, -f | 强制删除镜像 | |
--no-prune | 不要删除未标记的父级镜像 |