解决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 技巧之删除Docker容器和镜像
- 详解Docker Registry之删除镜像、垃圾回收
- docker 如何删除none镜像
- 详解docker强制批量删除none的image镜像
- 如何删除docker-register镜像及none无效镜像详解
赞 (0)