• Docker这些none:none的镜像,难道就不配拥有名字吗


    1 前言

    欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章!

    搞容器开发一段时间后,想看看都有哪些镜像,执行了一下docker images -a,蒙圈了,有一堆<none>:<none>的镜像。不知有什么用,不知能不能删,不知会不会占用很多空间。接下来我们探索一下吧。

    2 镜像也有好坏吗?

    这些<none>:<none>镜像可分为两类:好与坏、有用与无用、不建议删除和建议删除的。

    2.1 好的none

    好的<none>:<none>镜像是由于镜像分层的中间镜像。它们只会在docker images -a才会显示出来,用docker images是不会显示的。它们也不会造成空间问题。

    2.2 坏的none

    坏的<none>:<none>镜像会占用空间,主要是由于新加镜像替换原来相对标签的镜像,原来镜像就变成了<none>:<none>而不会被删除。

    我们执行docker images查看:

    $ docker images
    REPOSITORY                TAG       IMAGE ID            CREATED             SIZE
    pkslow/springboot-mongo   0.0.6     f029f9b6e703        28 minutes ago      356MB
    pkslow/springboot-mongo   latest    f029f9b6e703        28 minutes ago      356MB
    <none>                    <none>    56de36189ad6        29 minutes ago      356MB
    <none>                    <none>    9e00dfd258dc        40 hours ago        356MB
    <none>                    <none>    2d736eaaafd0        2 weeks ago         346MB
    

    然后再docker build一次,用同样的标签0.0.6

    $ docker images
    REPOSITORY                TAG       IMAGE ID            CREATED             SIZE
    pkslow/springboot-mongo   0.0.6     2119e4fbc6e8        43 seconds ago      356MB
    pkslow/springboot-mongo   latest    2119e4fbc6e8        43 seconds ago      356MB
    <none>                    <none>    f029f9b6e703        30 minutes ago      356MB
    <none>                    <none>    56de36189ad6        31 minutes ago      356MB
    <none>                    <none>    9e00dfd258dc        40 hours ago        356MB
    <none>                    <none>    2d736eaaafd0        2 weeks ago         346MB
    

    认真查看可以得出,以前最新的镜像ID为f029f9b6e703,后来变成了<none>:<none>

    这些坏坏的镜像也叫dangling images,空悬镜像。

    3 如何删除dangling images

    既然没用,又还占用空间,不如就删掉它。Docker没有自动删除这些镜像的机制,可以通过以下命令删除:

    $ docker rmi $(docker images -f "dangling=true" -q)
    

    检查一下,已经没有<none>的镜像了。

    $ docker images | grep '<none>'
    

    欢迎关注微信公众号<南瓜慢说>,将持续为你更新...

    多读书,多分享;多写作,多整理。

  • 相关阅读:
    模板方法模式
    Centos 6.4 python 2.6 升级到 2.7
    Python 在Visual studio 中做单元测试进行TDD开发
    C# 代码转换到Python
    VMware Network Adapter VMnet1和VMnet8 未识别的网络的解决方法
    Visual Studio 启动加速
    查询Sqlserver 表结构信息 SQL
    HTTP发送请求模拟
    【Xamarin 开发 IOS --使用 Storyboard Segue 实作 UIViewController 的切换 (实例)】
    【Xamarin 开发 IOS --IOS 页面导航概念Segue】
  • 原文地址:https://www.cnblogs.com/larrydpk/p/13413345.html
Copyright © 2020-2023  润新知