解决Docker Image镜像无法删除问题的方法
前言
docker是docker.inc公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于go语言开发,并遵从apache 2.0协议。通过分层镜像标准化和内核虚拟化技术,docker使得应用开发者和运维工程师可以以统一的方式跨平台发布应用,并且以几乎没有额外开销的情况下提供资源隔离的应用运行环境。由于众多新颖的特性以及项目本身的开放性,docker在不到两年的时间里迅速获得诸多it厂商的参与,其中更是包括google、microsoft、vmware等业界行业领导者。同时,docker在开发者社区也是一石激起千层浪,许多如我之码农纷纷开始关注、学习和使用docker,许多企业,尤其是互联网企业,也在不断加大对docker的投入,大有掀起一场容器革命之势。
发现问题:
镜像是docker最核心的技术之一,也是应用发布的标准格式。最近在工作中遇到一个问题,问题如下:
error response from daemon: conflict: unable to delete 4ac2d12f10cd (must be forced) - image is referenced in multiple repositories
来自守护进程的错误响应:冲突:无法删除4ac2d12f10cd(必须强制) - 映像在多个存储库中被引用
1.删除镜像
查看镜像
root@souyunku:~/mydocker# docker images repository tag image id created size nginx v1 4ac2d12f10cd 41 minutes ago 108mb souyunku/nginx v1 4ac2d12f10cd 41 minutes ago 108mb hello-world latest f2a91732366c 5 weeks ago 1.85kb
删除失败
删除其中一个镜像,这里的镜像有1个repo引用,并且没有容器使用
并且没有容器使用
root@souyunku:~/mydocker# docker container ls -a container id image command created status ports names 4c104074b3f4 hello-world "/hello" about an hour ago exited (0) about an hour ago priceless_hawking
镜像有1个repo引用
root@souyunku:~/mydocker# docker rmi 4ac error response from daemon: conflict: unable to delete 4ac2d12f10cd (must be forced) - image is referenced in multiple repositories
2.解决方法
删除repository
被删除的imageid,这里存在1个repository名字引用,解决方法如下:
即删除时指定名称,而不是image id。
root@souyunku:~/mydocker# docker rmi souyunku/nginx:v1 untagged: souyunku/nginx:v1
再删除image id就可以了:
root@souyunku:~/mydocker# docker rmi 4ac untagged: nginx:v1 deleted: sha256:4ac2d12f10cdb99c099749432b7a450ee1c6958e0f2f964cd64c6b086ba3e622 deleted: sha256:346164f732e08d72d1f64828acda4e5ca93f79473f443ce57d9cfe69d9b66b24 deleted: sha256:3f8a4339aadda5897b744682f5f774dc69991a81af8d715d37a616bb4c99edf5 deleted: sha256:bb528503f6f01b70cd8de94372e1e3196fad3b28da2f69b105e95934263b0487 deleted: sha256:410204d28a96d436e31842a740ad0c827f845d22e06f3b1ff19c3b22706c3ed4 deleted: sha256:2ec5c0a4cb57c0af7c16ceda0b0a87a54f01f027ed33836a5669ca266cafe97a
3.查看镜像
root@souyunku:~/mydocker# docker images repository tag image id created size hello-world latest f2a91732366c 5 weeks ago 1.85kb
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
下一篇: docker创建redis镜像的方法
推荐阅读
-
Docker 下载镜像慢的问题解决办法
-
Win7系统桌面图标无法删除怎么办?Win7桌面图标删除不了的解决方法
-
win7系统无法删除文件提示您需要权限来执行此操作的解决方法
-
Win10系统nvidia geforce experience无法登录问题的解决方法
-
sql server 2005因架构无法删除用户错误15138的解决方法
-
C++ 调用Python3 脚本中无法引入内建模块的问题解决方法
-
win7下docker安装与报错问题的解决方法
-
无法删除文件提示找不到指定文件导致文件无法删除的解决方法
-
Vue动态加载图片在跨域时无法显示的问题及解决方法
-
Docker 无法停止或删除容器服务问题的解决方案