在docker下删除两个id相同的镜像的操作

 更新时间:2020年11月20日 10:33:22   作者:月未明  
这篇文章主要介绍了在docker下删除两个id相同的镜像的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

今天建立docker容器的时候由于疏忽,镜像的名字输错了,结果容器创建成功后,镜像中出现两个id相同的:

使用docker rmi e4a35914679d删除的时候执行失败:

Error response from daemon: conflict: unable to delete e4a35914679d (must be forced) - image is referenced in one or more repositories

提示应该是该id有两个本地文件,不能用id删除。

所以我想删除所有镜像docker rmi $(docker images -q),出现下面错误

Error response from daemon: conflict: unable to delete e4a35914679d (must be forced) - image is referenced in one or more repositories

后来在Stack Overflow删看到使用repository和tag进行操作的,所以执行docker rmi docker.io/redis:3.2

再次查询的时候只剩下一个镜像,删除OK。

所以,可以使用repository:tag的组合来删除特殊的镜像。

补充知识:Docker 删除空白TAG和REPOSITORY的镜像

初步学习了docker,发现一个问题。在误操作后。会遗留一个只有IMAGE ID 的空白镜像

如何删除它,尝试了几次才成功。

当你想删除空白TAG和空白REPOSITORY的镜像时,列出当前镜像

[root@iZ25kr7psegZ ~]# docker images
REPOSITORY       TAG         IMAGE ID      CREATED       SIZE
azkaban_centos     latest       8993c0c20f01    24 hours ago    244MB
<none>         <none>       d2dcb7c1f1ce    2 days ago     1.08GB
mysql          latest       990386cbd5c0    7 days ago     443MB
centos         latest       9f38484d220f    2 months ago    202MB
hello-world       latest       fce289e99eb9    4 months ago    1.84kB

执行删除语句 docker rmi IMAGE ID

[root@iZ25kr7psegZ ~]# docker rmi d2dcb7c1f1ce

Error response from daemon: conflict: unable to delete d2dcb7c1f1ce (must be forced) - image is being used by stopped container cde37d151fdf

这边提示你需要停止镜像所依赖的容器

[root@iZ25kr7psegZ ~]# docker stop cde37d151fdf

cde37d151fdf

然后删除这个容器。

[root@iZ25kr7psegZ ~]# docker rm cde37d151fdf

cde37d151fdf

接着就可以删除这个空白的镜像了。

[root@iZ25kr7psegZ ~]# docker rmi d2dcb7c1f1ce
Deleted: sha256:d2dcb7c1f1ce916ea67a0a6c63cda40c62fa8dbc985845e64f3fafe9a37664f1
Deleted: sha256:86ad6d366bb4d0c9e4b176bc220ff8d421902e2bcb197c7c017f8da854c3c72d
Deleted: sha256:128e444c34b373f5e553883c65f676efdb2be22684bcbcf141fb724a7b3de316
Deleted: sha256:15d26edbae6fafd6acad6e3308445846202230b66c6199cb236268f932b59ce8

再次查询一下镜像列表

[root@iZ25kr7psegZ ~]# docker images
REPOSITORY       TAG         IMAGE ID      CREATED       SIZE
azkaban_centos     latest       8993c0c20f01    24 hours ago    244MB
<none>         <none>       adbcb407e207    2 days ago     571MB
mysql          latest       990386cbd5c0    7 days ago     443MB
centos         latest       9f38484d220f    2 months ago    202MB
hello-world       latest       fce289e99eb9    4 months ago    1.84kB

发现所占的SIZE从1.08G降到了571M。说明还存在另一个容器在保存这层镜像。可以想象成俄罗斯套娃。需要一层层的删除。肯定是做了过多的docker commit 操作。

重复操作过程中发现有时候一个镜像对应着不同的容器。

每提示一个容器ID就执行一次stop和rm操作。应该是启动次数过于频繁造成的镜像被重复加载。最终结果当然是删除干净了。

[root@iZ25kr7psegZ ~]# docker rmi cb9f332b969f
Deleted: sha256:cb9f332b969ff425ef7bf781a1d7dff720dfa32a6e77a20347552b76f6b763eb
Deleted: sha256:2a9ae33d11aadc05d24b58f67c6eb577c64eceff0528d06207e49963257e5f24
[root@iZ25kr7psegZ ~]# docker images
REPOSITORY       TAG         IMAGE ID      CREATED       SIZE
azkaban_centos     latest       8993c0c20f01    24 hours ago    244MB
mysql          latest       990386cbd5c0    7 days ago     443MB
centos         latest       9f38484d220f    2 months ago    202MB
hello-world       latest       fce289e99eb9    4 months ago    1.84kB

以上这篇在docker下删除两个id相同的镜像的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker制作镜像的完整过程

    Docker制作镜像的完整过程

    本文主要介绍了Docker制作镜像的完整过程,以制作CentOS镜像为例,讲述对镜像自定义,打包以及推送的远程仓库的过程,感兴趣的可以了解一下
    2021-11-11
  • Docker深度清除镜像缓存overlay2的实现

    Docker深度清除镜像缓存overlay2的实现

    维清理镜像是通过命令 docker rm i 删除镜像的,但是这条命令不会删除docker build命令产生的缓存文件,本文主要介绍了Docker深度清除镜像缓存overlay2的实现,感兴趣的可以了解一下
    2023-12-12
  • Docker容器化部署尝试——多容器通信(node+mongoDB+nginx)

    Docker容器化部署尝试——多容器通信(node+mongoDB+nginx)

    这篇文章主要介绍了Docker容器化部署尝试——多容器通信(node+mongoDB+nginx),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Docker拉取ubuntu镜像并建立环境的详细过程

    Docker拉取ubuntu镜像并建立环境的详细过程

    在Docker实战中Ubuntu是一个常见的基础镜像,用于构建其他应用服务的容器,这篇文章主要给大家介绍了关于Docker拉取ubuntu镜像并建立环境的详细过程,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • 详解如何在Docker部署Go程序

    详解如何在Docker部署Go程序

    Docker是一种轻量级的容器技术,可以为应用程序的部署提供统一、可移植的运行环境,下面我们来讲讲如何将Go应用程序部署到Docker的容器吧
    2023-08-08
  • docker run之后状态总是Exited

    docker run之后状态总是Exited

    这篇文章主要介绍了docker run之后状态总是Exited,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • windows宿主机和docker容器设置挂载共享文件夹的步骤

    windows宿主机和docker容器设置挂载共享文件夹的步骤

    这篇文章主要介绍了windows宿主机和docker容器设置挂载共享文件夹的步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • docker-compose限制容器cpu和内存方式

    docker-compose限制容器cpu和内存方式

    这篇文章主要介绍了docker-compose限制容器cpu和内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • docker镜像管理命令详解

    docker镜像管理命令详解

    这篇文章主要介绍了docker镜像管理命令,我们也可以使用命令来搜索镜像,比如我们需要一个tomcat的镜像来作为我们的web服务,我们可以通过 docker search 命令搜索tomcat来寻找适合我们的镜像,本文给大家介绍的非常详细,需要的朋友参考下吧
    2022-07-07
  • 解决docker pull镜像报错的问题

    解决docker pull镜像报错的问题

    这篇文章主要介绍了解决docker pull镜像报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论