Docker中images中none的镜像是否可以删除呢?
担心删除了会有问题啊,小白用户啊。查查资料还是收获不少哦。简要翻译国外的一篇文章哈,不对请指正。
- What are
<none>:<none>
images ? 什么是<none>:<none>镜像呢? - What are dangling images ? 什么是“临时”还是摇摆镜像?
- Why do I see a lot of
<none>:<none>
images when I dodocker images -a
? 为什么会看到一堆的<none>:<none>镜像呢? - What is the difference between
docker images
anddocker images -a
? docker images和docker images -a
看到的有什么不同呢?
文章主要解答这几个问题啦,结合了docker镜像的原理。
这里呢有好的<none>:<none>镜像和坏的<none>:<none>镜像哦。他们分别怎么来的呢》?
好的<none>:<none>镜像的产生
例如从镜像仓库里拿一个fedora 镜像。如图虽然
docker images
只显示fedora:latest,但是docker images -a
显示了两个镜像fedora:latest
和<none>:<none>
.
原来docker中镜像是有垂直父子关系的,层级关系可以在/var/lib/docker/graph中看到。docker pull fedora执行的时候呢,就会每次下载一个镜像。
可以通过查看/var/lib/docker/graph的json查看父子关系。这些镜像都不会引起存储空间占用的问题。
root@iZ2zejcwx7sfb1o4vvupxkZ:/var/lib/docker/graph# more ff0e2b608af6b1901d8ad9e9556e9e8ffe91b4c5386039e32bdf087df6157f65/json
{"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":fal
se,"OpenStdin":false,"StdinOnce":false,"Env":null,"Cmd":["/bin/sh -c echo 'export PATH=$ORACLE_HOME/bin:$PATH' \u003e\u003e /etc/bas
h.bashrc"],"Image":"","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":null},"created":"2016-04-20T10:29:03.
276290831Z","layer_id":"sha256:a5d9cef8ef2a0ffd19fea965e22924c2717bdcec82f628344111ae5aeec3ec13","parent_id":"sha256:c74e9fd53a7e49d
4d4cd562a69aa8ccc094ee17aedb7cc26a161af2903af8f68"}
root@iZ2zejcwx7sfb1o4vvupxkZ:/var/lib/docker/graph#
{"container_config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":fal
se,"OpenStdin":false,"StdinOnce":false,"Env":null,"Cmd":["/bin/sh -c echo 'export PATH=$ORACLE_HOME/bin:$PATH' \u003e\u003e /etc/bas
h.bashrc"],"Image":"","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":null},"created":"2016-04-20T10:29:03.
276290831Z","layer_id":"sha256:a5d9cef8ef2a0ffd19fea965e22924c2717bdcec82f628344111ae5aeec3ec13","parent_id":"sha256:c74e9fd53a7e49d
4d4cd562a69aa8ccc094ee17aedb7cc26a161af2903af8f68"}
root@iZ2zejcwx7sfb1o4vvupxkZ:/var/lib/docker/graph#
坏的<none>:<none>镜像的产生
而
docker build
或是 pull
命令就会产生临时镜像。如果我们用dockerfile创建一个helloworld镜像后,因为版本更新需要重新创建,那么以前那个版本的镜像就会成为临时镜像。这个是需要删除的。删除命令见下。
清除坏的<none>:<none>镜像
docker rmi $(docker images -f "dangling=true" -q)
如果用sudo 前后都需要加sudo哦。。。。。。
原文:http://www.projectatomic.io/blog/2015/07/what-are-docker-none-none-images/
http://blog.csdn.net/goflyfreely/article/details/53149894
相关推荐
一是<none>标签的镜像,二是删除docker物理镜像。下面话不多说了,来一起看看详细的介绍吧。 docker<none>镜像 有效的 none 镜像 为了理解 <none> 镜像,我们先要理解 Docker镜像系统的工作机制,以及 layers是如何...
说正题,今天遇到的问题是自己在开发机做坏了几个image镜像,删不了 我想大家也遇到过这样类似...[ruifengyun@bj-buzz-dev01 extractor_docker]$ docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE <none>
删除none的镜像,要先删除镜像中的容器。要删除镜像中的容器,必须先停止容器。 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE <none> <none> 168b258ceea3 34 seconds ago 460.6 MB <none> <none> b2c5d...
公司业务在生产环境100多台服务器上用了docker,已经有大半年了,可是最近发现,每个服务器上的各种镜像好多好乱,就想批量删除镜像,需要的来看一下把。 删除所有未运行 Docker 容器 docker rm $(docker ps -a -q...
可以使用命令: docker tag [name]:[版本] 例如: docker tag b03b74b01d97 docker-redis:0.0.1 补充知识:docker的save和load 我就废话不多说了,大家还是直接看代码吧~ 实战 ...
这里我以 zookeeper为例,先将zookeeper文件拉取到linux系统上,...然后docker images 查看镜像,会发现,刚才load的文件已经存在 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE demo 2.0
这是docker容器的centos镜像,参考下面文档中使用方法,确定有用再下载:...~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-128661112-null-null.268^v1^koosearch&utm_term=%E5%8D%A0%E7%94%A8&spm=1018.2226.3001.4450
* Docker镜像(Docker images):Docker镜像是Docker容器运行时的只读模板,每一个镜像由一系列的层(layers)组成。 * Docker仓库(Docker registries):Docker仓库是用于存储和管理Docker镜像的仓库。 * Docker...
使用docker images时,可能会出现REPOSITORY和TAG均为none的镜像,如下图 这时,我们可以重命名镜像 # docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签) 补充知识:docker image 重命名 docker image ...
build 自己的 docker 镜像的时候,有时会遇到用一个甚至多个中间层镜像,这会一定程度上减少最终打包出来 docker 镜像的大小,但是会产生一些tag 为 none 的无用镜像,也称为悬挂镜像 (dangling images) 列出所有的 ...
删除none状态退出的镜像 vim abc.txt #!/bin/bash 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...
docker rmi $(docker images | grep ‘^<none>’ | awk ‘{print $3}’) 继续清理 docker system prune docker volume prune 以上足够使用,其他命令不要知道了! 补充知识:Docker 一文教你清理docker空间释放...
最后,可以使用 docker images 命令来查看 log-pilot 的镜像信息: [root@k8s-master yaml_log-pilot]# docker images |grep log-pilot log-pilot 插件现在已经安装完成,可以用来收集 k8s 部署应用容器内的日志...
docker run -d --name mycontainer -p 8000:8000 myimage docker rmi $ {docker images -f“ dangling = true” -q)----删除带有none标签的docker镜像 docker build --rm -t前端docker run -it -p 8080:8080 --...