zoukankan      html  css  js  c++  java
  • Docker镜像-列出镜像

    列出镜像

    • 镜像体积
    • 虚悬镜像
    • 中间层镜像
    • 列出部分镜像

    要想列出已经下载下来的镜像,可以使用docker images 或者 docker image ls 命令。

    $ docker image ls
    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
    redis                latest              5f515359c7f8        5 days ago          183 MB
    nginx                latest              05a60462f8ba        5 days ago          181 MB
    mongo                3.2                 fe9198c04d62        5 days ago          342 MB
    <none>               <none>              00285df0df87        5 days ago          342 MB
    ubuntu               18.04               f753707788c5        4 weeks ago         127 MB
    ubuntu               latest              f753707788c5        4 weeks ago         127 MB
    

     

    列表包含了 仓库名标签镜像 ID创建时间 以及 所占用的空间

    其中仓库名、标签在之前的基础概念章节已经介绍过了。镜像 ID 则是镜像的唯一标识,一个镜像可以对应多个 标签。因此,在上面的例子中,我们可以看到 ubuntu:18.04 和 ubuntu:latest 拥有相同的 ID,因为它们对应的是同一个镜像。

    镜像体积

    这里标识的所占用空间和在 Docker Hub 上看到的镜像大小不同。比如,ubuntu:18.04 镜像大小,在这里是 127 MB,但是在 Docker Hub 显示的却是 50 MB 

    这是因为 Docker Hub 中显示的体积是压缩后的体积。在镜像下载和上传过程中镜像是保持着压缩状态的,因此 Docker Hub 所显示的大小是网络传输中更关心的流量大小。而 docker image ls 显示的是镜像下载到本地后,展开的大小,准确说,是展开后的各层所占空间的总和,因为镜像到本地后,查看空间的时候,更关心的是本地磁盘空间占用的大小。

     

    你可以通过以下命令来便捷的查看镜像、容器、数据卷所占用的空间。

    $ docker system df
    
    TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
    Images              24                  0                   1.992GB             1.992GB (100%)
    Containers          1                   0                   62.82MB             62.82MB (100%)
    Local Volumes       9                   0                   652.2MB             652.2MB (100%)
    Build Cache                                                 0B                  0B


    虚悬镜像

    上面的镜像列表中,还可以看到一个特殊的镜像,这个镜像既没有仓库名,也没有标签,均为 <none>。:

    <none>               <none>              00285df0df87        5 days ago          342 MB
    

    这个镜像原本是有镜像名和标签的,原来为 mongo:3.2,随着官方镜像维护,发布了新版本后,重新 docker pull mongo:3.2 时,mongo:3.2 这个镜像名被转移到了新下载的镜像身上,而旧的镜像上的这个名称则被取消,从而成为了 <none>。除了 docker pull 可能导致这种情况,docker build 也同样可以导致这种现象。由于新旧镜像同名,旧镜像名称被取消,从而出现仓库名、标签均为 <none> 的镜像。这类无标签镜像也被称为 虚悬镜像(dangling image) ,可以用下面的命令专门显示这类镜像:

    $ docker image ls -f dangling=true
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    <none>              <none>              00285df0df87        5 days ago          342 MB
    

    一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,可以用下面的命令删除。

    $ docker image prune
     

    列出部分镜像

    docker image ls 还支持强大的过滤器参数 --filter,或者简写 -f。之前我们已经看到了使用过滤器来列出虚悬镜像的用法,它还有更多的用法。比如,我们希望看到在 mongo:3.2 之后建立的镜像,可以用下面的命令:

    $ docker image ls -f since=mongo:3.2
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    redis               latest              5f515359c7f8        5 days ago          183 MB
    nginx               latest              05a60462f8ba        5 days ago          181 MB
    

    想查看某个位置之前的镜像也可以,只需要把 since 换成 before 即可。

    此外,如果镜像构建时,定义了 LABEL,还可以通过 LABEL 来过滤。

    $ docker image ls -f label=com.example.version=0.1
    
    
  • 相关阅读:
    垂直水平居中几种实现风格
    重绘(repaint)和回流(reflow)
    对象深拷贝
    PhantomJS not found on PATH
    d3.js 数据操作
    canvas 绘制圆弧
    d3.js 柱状图
    d3.js -- 比例尺 scales scaleLinear scaleBand scaleOrdinal scaleTime scaleQuantize
    d3.js -- select、selectAll
    map映射
  • 原文地址:https://www.cnblogs.com/yuanfang0903/p/11226616.html
Copyright © 2011-2022 走看看