Docker 删除镜像的实现
普通网友 人气:0删除镜像
如果要删除本地的镜像,可以使用 docker rmi (注意rm为删除容器,而rmi为删除镜像,其中i代表image)命令,它的具体语法如下:
docker rmi [OPTIONS] IMAGE [IMAGE…]
其中:
- docker rmi:Docker删除镜像的命令关键词;
- OPTIIONS: 命令选项,-f强制删除镜像;
- IMAGE:需要删除的镜像。这里的镜像可以用“镜像短ID”、“镜像长ID”、“镜像名”、“镜像的digest”来标识。
使用docker images --digests查看镜像的具体信息,包括镜像的digest;
删除ubuntu:latest镜像,有以下几种方法:
镜像短ID:docker rmi 14f6;(这个代表镜像id以14f6开头的镜像,一般而言,前四位可以唯一标志,如果不可以,docker会提示的)
镜像长ID:docker rmi 14f60031763d;
镜像名: docker rmi ubuntu:latest;
镜像的digest:docker rmi > ubuntu@sha256:84c334414e2bfdcae99509a6add166bbb4fa4041dc3fa6af08046a66fed3005f。
以上的方法都能删除掉ubuntu:v1镜像。但日常生活中,我们比较常用的是短ID以及镜像名,因为用起来最方便。
删除多个镜像
我们可以使用 docker images -q来配合使用docker rmi,这样可以成批的删除希望删除的镜像。
docker images -q redis会输出所有仓库名为redis的镜像id,所以如果想要删除所有仓库名为redis的镜像,可以这么写:
docker rmi $(docker images –q redis)
如果想要删除所有镜像,可以这么写:
docker rmi $(docker images –qa)
如果想要使用docker rmi删除一个镜像,需要注意需要先将使用该镜像的容器删除掉,否则该镜像不能删除成功。当然也可以使用docker rmi -f强制删除该镜像!
删除busybox:latest。命令如下:
#!/bin/bash #以busybox为基础镜像创建一个容器,容器名为container3 #拉取busybox 最新镜像,实际生产中,docker pull 这一步可以省略,docker run的时候会自己去拉取。 docker pull busybox docker run --name container3 busybox:latest echo "hello" #然后将busybox:latest镜像删除 #********** Begin *********# docker rmi -f busybox:latest #********** End **********#
加载全部内容