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的镜像,可以这么写:

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

到此这篇关于Docker 删除镜像的实现的文章就介绍到这了,更多相关Docker 删除镜像内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker 删除及清理镜像的方法

    目录 一.通过标签删除镜像 二.通过ID删除镜像 三.删除镜像的限制 四.清理镜像 一.通过标签删除镜像 通过如下两个都可以删除镜像: docker rmi [image] 或者: docker image rm [image] 支持的子命令如下: -f, -force: 强制删除镜像,即便有容器引用该镜像: -no-prune: 不要删除未带标签的父镜像: 例如,我们想删除上章节创建的 allen_mysql:5.7 镜像,命令如下: docker rmi allen_mysql:5.7 从上

  • Docker 批量删除容器或镜像的操作方法

    目录 删除所有容器 删除所有镜像 按条件删除镜像 删除所有容器 一.首先需要停止所有运行中的容器 docker stop`docker ps -a -q` docker ps -a -q 意思是列出所有容器(包括未运行的),只显示容器编号,其中 -a : 显示所有的容器,包括未运行的. -q : 静默模式,只显示容器编号. 二.删除所有容器,将上面命令中的 stop 改为 rm 即可: docker rm `docker ps -a -q` 删除所有镜像 docker rmi `docker i

  • 详解Docker Registry之删除镜像、垃圾回收

    Docker仓库在2.1版本中支持了删除镜像的API,但这个删除操作只会删除镜像元数据,不会删除层数据.在2.4版本中对这一问题进行了解决,增加了一个垃圾回收命令,删除未被引用的层数据.本文对这一特性进行了体验,具体步骤如下. 1.部署镜像仓库 (1)启动仓库容器 复制代码 代码如下: dockerrun -d -v /home/config.yml:/etc/docker/registry/config.yml -p 4000:5000 --nametest_registryregistry:

  • 解决Docker Image镜像无法删除问题的方法

    前言 Docker是Docker.Inc公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议.通过分层镜像标准化和内核虚拟化技术,Docker使得应用开发者和运维工程师可以以统一的方式跨平台发布应用,并且以几乎没有额外开销的情况下提供资源隔离的应用运行环境.由于众多新颖的特性以及项目本身的开放性,Docker在不到两年的时间里迅速获得诸多IT厂商的参与,其中更是包括Google.Microsoft.VMware等业界行业领导者.同时,Dock

  • Docker 本地导入镜像/保存镜像/载入镜像/删除镜像的方法

    1.Docker导入本地镜像 有时候我们自己在本地或者其它小伙伴电脑上拷贝了一份镜像,有了这个镜像之后,我们可以把本地的镜像导入,使用docker import 命令. 例如这里下载了一个 alibaba-rocketmq-3.2.6.tar.gz 镜像文件,使用下列命令导入: [root@rocketmq-nameserver4 dev]# cat alibaba-rocketmq-3.2.6.tar.gz | docker import - rocketmq:3.2.6(镜像名自己定义) [

  • docker无法删除镜像报Error: No such container的错误问题

    目录 docker无法删除镜像怎么办 问题描述: PS:docker 删除不了镜像 docker无法删除镜像怎么办 docker无法删除镜像的解决方法是:1.切换到root用户:2.执行命令[servicedockerstop]:3.执行命令[rm-rfvarlibdocker]删除镜像即可. 问题描述: 最近打算删除掉docker镜像,但是发现有几个镜像就是删除不了,加了-f强制删除也不行,一直报Error: No such container的错误. 解决方法如下: 1.切换到root用户:

  • Docker创建镜像、怎么修改、上传镜像等详细介绍

    Docker 创建镜像.修改.上传镜像 –创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 一.创建镜像 创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 二.修改已有镜像 1.先使用下载的镜像启动容器. $ docker run -t -i training/sinatra /bin/bash root@0b2616b0e5a8:/# 注意:记住容器的 ID,稍后还会用到. 2.

  • 定时清理docker私服镜像的方法

    使用CI构建docker镜像进行发布极大促进了大家的版本发布效率,于是镜像仓库也就急速膨胀.为了缓解磁盘压力,我们需要设置一些清理策略. 对于不同docker镜像的清理策略应该是不同的.比如,默认保留最近5个版本的镜像,对于工具类的image保留全部,对于业务类的image保留一个月之类的. 简单保留5个image的方式如下: 下载 https://github.com/mlabouardy/nexus-cli , 使用cli来执行删除. 下载 wget https://s3.eu-west-2

  • docker registry 镜像同步的实现思路

    Intro 之前我们的 docker 镜像是保存在 Azure 的 Container Registry 里的,最近我们自己搭建了一个 docker registry,我们想把之前保存的 Azure 的 Container Registry 的 docker 镜像同步到我们自己的 docker registry 里 实现思路 我们的做法比较简单也比较LOW,但是基本可以满足要求, 我们的做法是 首先获取到源 Registry 里的所有镜像列表 然后逐个获取镜像的 tags 然后依次遍历将对应的镜

  • Docker 制作镜像Dockerfile和commit操作

    构建镜像 构建镜像主要有两种方式: 使用docker commit命令从运行中的容器提交为镜像: 使用docker build命令从 Dockerfile 构建镜像. 首先介绍下如何从运行中的容器提交为镜像.我依旧使用 busybox 镜像举例,使用以下命令创建一个名为 busybox 的容器并进入 busybox 容器. $ docker run --rm --name=busybox -it busybox sh 执行完上面的命令后,当前窗口会启动一个 busybox 容器并且进入容器中.在

  • Docker的镜像制作与整套项目一键打包部署的实现

    Dockerfile常用指令介绍 指令 描述 FROM 构建的新镜像是基于哪个镜像.例如:FROM centos:6 MAINTAINER 镜像维护者姓名或邮箱地址.例如:MAINTAINER Mr.chen RUN 构建镜像时运行的Shell命令.例如:RUN ["yum","install","httpd"]   或者RUN yum install httpd CMD 运行容器时执行的Shell命令(可以被运行时传递的参数覆盖).例如:CMD

随机推荐