Docker 删除镜像的实现

删除镜像

如果要删除本地的镜像,可以使用 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的镜像,可以这么写:

1

docker rmi $(docker images –q redis)

如果想要删除所有镜像,可以这么写:

1

docker rmi $(docker images –qa)

如果想要使用docker rmi删除一个镜像,需要注意需要先将使用该镜像的容器删除掉,否则该镜像不能删除成功。当然也可以使用docker rmi -f强制删除该镜像!

删除busybox:latest。命令如下:

1

2

3

4

5

6

7

8

9

10

11

#!/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 **********#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sinat_40572875

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值