先上删除命令:

docker images|grep none|awk '{print $3 }'|xargs docker rmi

docker强制批量删除none的image镜像

 

真是有段时间没搞Docker了,我们大部门的业务基本docker化了… …  确实是个好东西,我现在更多的是应用docker,具体的维护运维还是交给运维的朋友们… …

说正题,今天遇到的问题是自己在开发机做坏了几个image镜像,删不了   我想大家也遇到过这样类似的问题  ….

他的名字和tag都是为none,空… 以前看过一个帖子说,给他标记一个tag,就可以干掉,瞎扯…

 
 
 
 
 
 

Python

 
1
2
3
4
5
6
 
[ruifengyun@bj-buzz-dev01 extractor_docker]$
[ruifengyun@bj-buzz-dev01 extractor_docker]$ docker images
REPOSITORY                                   TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>                                       <none>              763e6d509697        2 minutes ago       1.123 GB
<none>                                       <none>              008ec8098c8d        21 minutes ago      471 MB

然后你去批量删除的时候会提示一个问题….

 
 
 
 
 

Python

 
1
2
3
4
5
6
 
docker rmi $(docker images | awk '/^<none>/ { print $3 }')
Error: image_delete: Conflict, 64b4fa0cdd27 wasn't deleted
Error: image_delete: Conflict, 5a2b9b2294c3 wasn't deleted
(…略…)
2014/03/08 18:26:04 Error: failed to remove one or more images

以前的解决的方法是,docker ps -a里面找到基于image的容器 然后stop它,rm他。 但是会发现还是不行….

 
 
 
 
 
 

Python

 
1
2
3
4
 
[ruifengyun@bj-buzz-dev01 extractor_docker]$ docker ps -a |grep 008ec8098c8d
f6a628cbe5e7        008ec8098c8d                              "/bin/sh -c 'pip ins   14 minutes ago      Exited (1) 13 minutes ago                                                        romantic_wozniak
81cf08a442dd        008ec8098c8d                              "/bin/sh -c 'pip ins   21 minutes ago      Exited (1) 20 minutes ago                                                        dreamy_bardeen

docker rmi  id 的时候,还是会提示删除失败。  最后我选择把所有的docker ps -a里面Exited的都删除,然后再开始rmi….. 结果就可以了。。。。  想不通他们有啥关系,理论来说失败的images应该是它想他的容器是有关系的..    反正是解决了,下面是写得批量删除的命令.

补充:   引起上面的原因是docker官方要求,docker rmi image_id 只能删除未被使用的image .

 
 
 
 
 

Python

 
1
2
3
4
 
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
docker images|grep none|awk '{print $3 }'|xargs docker rmi

这样清空掉残余的容器后,再删除images就没有异常的提示了。

 
 
 
 
 

Python

 
1
2
3
 
[ruifengyun@bj-buzz-dev01 ~]$ docker rmi -f 9503b09c1a70
Deleted: 9503b09c1a707d29b084e18aa13ef5d66f43672e41dce4db5931cbf2a754daa1

题外话, 这两天还要研究下docker多个出口ip的方法……. 实体服务器的外网是很多,但是在docker环境下,还没搞过,这两天研究下。

参考资料:

http://xiaorui.cc/2015/03/11/docker%E5%BC%BA%E5%88%B6%E6%89%B9%E9%87%8F%E5%88%A0%E9%99%A4none%E7%9A%84image%E9%95%9C%E5%83%8F/

【云计算】Docker删除名称为none的Image镜像的更多相关文章

  1. docker删除名称为<none>的镜像

    docker rmi $(docker images | awk '/^<none>/ { print $3 }')

  2. 优秀的云计算工程师需要学什么?云计算Docker学习路线

    云计算工程师要学什么?随着互联网的快速发展,云计算这个词大家并不陌生,但是云计算究竟是做什么的,想要从事云计算要学习什么,很多都不知道,那么今天就给大家讲一下云计算. 云计算是基于互联网的相关服务的增 ...

  3. 应用程序中的server错误,没有名称为“ServiceBehavior”的服务行为

    应用程序中的server错误,没有名称为"ServiceBehavior"的服务行为         今天在阅读"创建和使用Web服务"的相关内容,在浏览器中查 ...

  4. C# 发送邮件 附件名称为空

     示例代码: // 1.创建邮件 MailMessage mailMsg = new MailMessage(); mailMsg.To.Add(new MailAddress("test@ ...

  5. Java基础-输入输出-2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt

    2.编写IoDemo.java的Java应用程序,程序完成的功能是:首先读取text.txt文件内容,再通过键盘输入文件的名称为iodemo.txt,把text.txt的内容存入iodemo.txt ...

  6. C#反序列化json字符串时,提示:应为来自命名空间“”的元素“root”。。遇到名称为“”、命名空间为“”的“None”。

    反序列化调用接口返回的字符串时,出现:应为来自命名空间“”的元素“root”..遇到名称为“”.命名空间为“”的“None”.,导致反序列化数据失败,这种失败并有时候并不会直接提示反序列化失败(抛异常 ...

  7. Docker 删除&清理镜像

    文章首发自个人网站:https://www.exception.site/docker/docker-delete-image 本文中,您将学习 Docker 如何删除及清理镜像? 一.通过标签删除镜 ...

  8. docker 删除镜像

    有时候我们不需要某个镜像,需要对它进行删除.1.停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q) 如果想要删除所有cont ...

  9. centos7修改网卡名称为eth0-技术流ken

    前言 在配置集群的时候,需要保持网卡名称一致,所以我们需要修改centos7中的网卡名称为eth0. 检查网卡 检查网卡,现在网卡名称是ens33 [root@localhost ~]# ip a : ...

随机推荐

  1. tomcat发布项目时,localhost可以访问,用ip地址不能访问,同时其他电脑也不能访问。

    最近在开发项目中,遇到的一个问题是:在 tomcat中发布一个web项目,但是发布成功后,只能用http://localhost:8080/aml访问项目,不能用http://172.0.0.1:80 ...

  2. webstrom 中启用emmet插件的方法

    参考页面:https://www.jetbrains.com/help/webstorm/2016.2/enabling-emmet-support.html Basics Native Emmet ...

  3. 阿里面试回来,想和Java程序员谈一谈(转载)

    引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容 ...

  4. Java基础-四要素之一《继承》

    继承的概念: 继承在本职上是特殊——一般的关系,即常说的is-a关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 继承是所有OOP语言不可缺少的部分,在java中使 ...

  5. WAR包

    1.windows命令下使用cmd命令打包 jar -cvf applicationname.war package.*: 2.程序中使用代码打包(这里用java) try{ string strja ...

  6. 【转】getHibernateTemplate出现的所有find方法的总结

    一.find(String queryString); 示例:this.getHibernateTemplate().find("from bean.User"); 返回所有Use ...

  7. python:open文件操作

    file: jim|123|1 tom|321|3 kamil|432|1 # __author__ = liukun # coding:utf-8 obj = open('file.txt','r' ...

  8. groovy-闭包

    什么是闭包 一个groovy闭包就像一个代码块或者方法指针,他是定义然后执行的一段代码,但是他有一些特性:隐含变量,支持自由变量,支持currying . 我们先来看看一些例子: 1 def clos ...

  9. PL/0编译器(java version) - MainFrame.java

    1: /* 2: * To change this license header, choose License Headers in Project Properties. 3: * To chan ...

  10. App接口中json方式封装通信接口

    封装json通信接口的类 <?php class Response{ /** * 按json方式输出通信数据 * @param integer $code状态码 * @param string ...