Docker rmi用法描述选项 示例权威详解
用法
移除一个或多个镜像
docker rmi [OPTIONS] IMAGE [IMAGE...]
描述
使用 docker rmi
命令可以从主机节点中移除(并取消标记)一个或多个镜像。如果一个镜像有多个标签,使用该命令并以标签作为参数只会移除标签。如果该标签是镜像的唯一标签,则同时移除镜像和标签。
这不会从注册表中删除镜像。除非使用 -f
选项,否则无法删除运行中容器的镜像。要查看主机上的所有镜像,请使用 docker image ls
命令。
选项
选项 | 简写 | 默认值 | 描述 |
---|---|---|---|
–force | -f | 强制移除镜像 | |
–no-prune | 不删除未标记的父镜像 |
示例
您可以使用短 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
上述示例中,尝试移除镜像 fd484f19954f
时会出错,因为该镜像被多个仓库标记引用。如果要强制移除镜像,可以使用 -f
选项。
docker rmi test1:latest
docker rmi test2:latest
在移除了所有引用的标签后,可以成功移除镜像。
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test latest fd484f19954f 23 seconds ago 7 B (virtual 4.964 MB)
您还可以使用 -f
标志和指定的镜像短 ID 或长 ID 来一次性取消标记并移除所有匹配的镜像。
docker rmi -f fd484f19954f
通过以上命令,可以同时移除所有引用该 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
以上是使用 docker rmi
命令移除镜像的示例。请注意,使用摘要移除镜像时不需要指定标签。确保在移除镜像时谨慎操作,并根据需要使用 -f
标志来强制移除镜像。
r rmi命令移除镜像的示例。**请注意,使用摘要移除镜像时不需要指定标签**。确保在移除镜像时谨慎操作,并根据需要使用
-f` 标志来强制移除镜像。
Docker rm vs Docker rmi
docker rm
和 docker rmi
是两个不同的 Docker 命令,用于移除容器和镜像。
Docker rm
docker rm
用于移除一个或多个容器。它的语法如下:
docker rm [OPTIONS] CONTAINER [CONTAINER...]
其中,CONTAINER
是要移除的容器的名称或 ID。
选项:
--force
或-f
:强制移除正在运行的容器。默认情况下,如果容器正在运行,则无法直接移除。使用此选项可以强制移除运行中的容器(使用 SIGKILL)。
Docker rmi
docker rmi
用于移除一个或多个镜像。它的语法如下:
docker rmi [OPTIONS] IMAGE [IMAGE...]
其中,IMAGE
是要移除的镜像的名称或 ID。
选项:
--force
或-f
:强制移除镜像。默认情况下,如果镜像有标签或被其他镜像引用,则无法直接移除。使用此选项可以强制移除镜像,即使它有标签或被其他镜像引用。
区别
主要区别在于作用对象和操作类型:
docker rm
用于移除容器,而docker rmi
用于移除镜像。docker rm
移除的是容器实例,而docker rmi
移除的是镜像文件。docker rm
需要指定容器名称或 ID,而docker rmi
需要指定镜像名称或 ID。docker rm
可以使用--force
选项强制移除运行中的容器,而docker rmi
可以使用--force
选项强制移除被标签或其他镜像引用的镜像。
因此,docker rm
和 docker rmi
是用于不同的场景和目的。docker rm
用于清理容器实例,而 docker rmi
用于清理镜像文件。