删除容器报错:Error response from daemon: conflict: unable to delete
前言
云原生日益普及的现在,docker 容器化成为现有很多服务的改进方向,docker 凭借更高效的利用系统资源、更快速的启动时间、一致的运行环境、持续支付和部署、更轻松的迁移、更轻松的维护和拓展等优势,迅速走红。但是,很多容器部署后在回收时,都会遇到各种各样的问题,比如今天讨论的删除镜像的问题,有时候删除操作会莫名其妙的报错。
问题
今天遇到了一个问题,在我想要删除一个过期的镜像文件的时候,莫名其妙的报了一个错误。
下图是我在服务器上的镜像列表,其中有很多需要删除的过期镜像。理论上来说,清理过期镜像应该属于常规操作,但是没想到,问题还不少。
一般操作都是直接使用命令 docker rmi 镜像ID
来删除对应的镜像,但是我遇到了如下报错:
详细的报错信息如下:
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
平时,我们工作中遇到的所有镜像删除失败的问题,会这三板斧基本上就够用了。
下图是我删除对应的镜像成功的截图:
结尾
掌握 docker 的日常使用方法,对于服务端开发同学来说,是一项基本技能。大家好,我是 liuzhen007,中国邦德,中国一个会敲代码的邦德,欢迎大家关注我。
版权声明: 本文为 InfoQ 作者【liuzhen007】的原创文章。
原文链接:【http://xie.infoq.cn/article/e7262c34b204105ae58121a73】。文章转载请联系作者。
评论 (1 条评论)