删除容器报错:Error response from daemon: conflict: unable to delete

前言

问题

解决

结尾

前言

云原生日益普及的现在,docker容器化成为现有很多服务的改进方向,docker凭借更高效的利用系统资源、更快速的启动时间、一致的运行环境、持续支付和部署、更轻松的迁移、更轻松的维护和拓展等优势,迅速走红。但是,很多容器部署后在回收时,都会遇到各种各样的问题,比如今天讨论的删除镜像的问题,有时候删除操作会莫名其妙的报错。

问题

今天遇到了一个问题,在我想要删除一个过期的镜像文件的时候,莫名其妙的报了一个错误。

下图是我在服务器上的镜像列表,其中有很多需要删除的过期镜像。理论上来说,清理过期镜像应该属于常规操作,但是没想到,问题还不少。

删除容器报错:Error response from daemon: conflict: unable to delete删除容器报错:Error response from daemon: conflict: unable to delete

一般操作都是直接使用命令 docker rmi 镜像ID 来删除对应的镜像,但是我遇到了如下报错:

删除容器报错:Error response from daemon: conflict: unable to delete删除容器报错:Error response from daemon: conflict: unable to delete

详细的报错信息如下:

Error response from daemon: conflict: unable to delete f73fe6298efc (cannot be forced) - image has dependent child images

解决

后来,通过查阅资料,发现删除镜像其实有很大的玄机。一般来说,使用如下方法和递进关系尝试删除镜像:

方法一、删除命令如下:

docker rmi 镜像ID

方法二、如果方法一不行,可以考虑使用方法二,命令如下:

docker rmi -f 镜像ID

方法三、如果方法二也不行,就可以考虑使用方式三,命令如下:

docker rmi 镜像仓库名:tag

平时,我们工作中遇到的所有镜像删除失败的问题,会这三板斧基本上就够用了。

下图是我删除对应的镜像成功的截图:

删除容器报错:Error response from daemon: conflict: unable to delete删除容器报错:Error response from daemon: conflict: unable to delete

结尾

掌握 docker 的日常使用方法,对于服务端开发同学来说,是一项基本技能。大家好,我是 liuzhen007,中国邦德,中国一个会敲代码的邦德,欢迎大家关注我。




作者简介:????大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,????公众号:玩转音视频。同时也是 CSDN 博客专家、华为云享专家(共创编辑)、InfoQ 签约作者,欢迎关注我分享更多干货!????

上一篇:学习笔记(01):【吴刚】PS软件基础实用技巧标准视频教程-04-文件的打开及注意事项...


下一篇:实战分析:事务的隔离级别和传播属性(下)