美文网首页Docker
Docker镜像常用命令

Docker镜像常用命令

作者: 王勇1024 | 来源:发表于2019-05-05 09:30 被阅读0次

    获取镜像

    1. 获取指定版本的镜像
    docker pull ubuntu:14.04
    
    1. 获取最新镜像
    docker pull ubuntu:latest
    # 如果不显示指定版本,则默认会选择latest
    docker pull ubuntu
    

    如果从非官方的仓库下载,则需要在仓库名称前指定完整的仓库地址:

    docker pull hub.c.163.com/public/ubuntu:14.04
    

    查看镜像信息

    1. 使用images列出镜像
    docker images
    

    images子命令主要支持如下选项:

    • -a, --all=true|false:列出所有的镜像文件(包括临时文件),默认为false;
    • --digests=true|false:列出镜像的数字摘要值,默认为false;
    • -f, --filter=[]:过滤列出的镜像,如dangling=true只显示没有被使用的镜像;也可指定带有特定标注的镜像等;
    • --format="TEMPLATE":控制输出格式,如.ID代表ID信息,.Repository代表仓库信息;
    • --no-trunc=true|false:对输出结果中太长的部分是否进行截断,如镜像的ID信息,默认为true;
    • -q, --quite=true|false:仅输出ID信息,默认为false。
    1. 使用tag命令添加镜像标签
    docker tag ubuntu:latest myubuntu:latest
    
    1. 使用inspect命令查看详细信息
    docker inspect ubuntu:14.04
    

    返回的是一个JSON格式的消息,如果我们只要其中一项内容时,可以使用参数-f来指定,例如,获取镜像的Architecture:

    docker inspect ubuntu:14.04 -f {{".Architecture"}}
    
    1. 使用history命令查看镜像历史
    $ docker history ubuntu:14.04
    IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
    65613486b3ef        7 days ago          /bin/sh -c #(nop)  CMD ["/bin/bash"]            0B
    <missing>           7 days ago          /bin/sh -c mkdir -p /run/systemd && echo 'do…   7B
    <missing>           7 days ago          /bin/sh -c rm -rf /var/lib/apt/lists/*          0B
    <missing>           7 days ago          /bin/sh -c set -xe   && echo '#!/bin/sh' > /…   195kB
    <missing>           7 days ago          /bin/sh -c #(nop) ADD file:574946dfc7122f930…   188MB
    

    搜索镜像

    使用docker search命令可以搜索远端仓库中共享的镜像,默认搜索官方仓库中的镜像。

    $ docker search -s 100 ubuntu
    NAME                                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
    ubuntu                                                 Ubuntu is a Debian-based Linux operating sys…   9487                [OK]
    dorowu/ubuntu-desktop-lxde-vnc                         Docker image to provide HTML5 VNC interface …   296                                     [OK]
    rastasheep/ubuntu-sshd                                 Dockerized SSH service, built on top of offi…   213                                     [OK]
    consol/ubuntu-xfce-vnc                                 Ubuntu container with "headless" VNC session…   174                                     [OK]
    

    支持的参数主要包括:

    • --automated=true|false:仅显示自动创建的镜像,默认为false;
    • --no-trunce=true|false:输出信息不截断显示,默认为false;
    • -s, --stars=X:仅显示平均为指定星级以上的镜像,默认为0,级输出所有镜像。

    删除镜像

    1. 使用标签删除镜像
      命令格式为:
    docker rmi IMAGE [IMAGE ...]
    

    注意:当同一个镜像拥有多个标签的时候,docker rmi命令指示删除该镜像多个标签中的指定标签而已。
    但当镜像只剩一个标签的时候就要消息了,此时再使用docker rmi命令会彻底删除镜像。

    1. 使用ID删除镜像
      当使用docker rmi命令,并且后面跟上镜像的ID(也可以是能区分的部分ID串前缀)时,会先尝试删除所有指向该镜像的标签,然后删除该镜像文件本身。
    2. 强制删除镜像
      当该镜像创建的容器存在时,镜像文件默认是无法删除的,如果想要强制删除镜像,可以使用-f参数:
    docker rmi -f ubuntu:14.04
    

    注意通常不推荐使用-f参数强制删除一个存在容器依赖的镜像,正确的做法是先删除依赖该镜像的所有容器,在来删除镜像。

    保存和载入镜像

    1. 保存镜像
      如果想要导出镜像到本地文件,可以使用docker save命令
    sudo docker save -o ubuntu_14.04.tar ubuntu:14.04
    
    1. 载入镜像
      可以通过docker load将tar文件导入到本地镜像库
    docker load --input ubuntu_14.04.tar
    

    docker load < ubuntu_14.04.tar
    

    上传镜像

    可以使用docker push命令上传镜像到仓库,默认上传到Docker Hub官方仓库。命令格式为:

    docker push NAME[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/] NAME:[:TAG]
    

    相关文章

      网友评论

        本文标题:Docker镜像常用命令

        本文链接:https://www.haomeiwen.com/subject/vvkxoqtx.html