• docker学习笔记3:镜像操作(查找和下载)


    一、查看本地镜像

      只有下载后,镜像才会保存在本地(docker环境所在的主机),通过如下命令可以查看本地已经存在的镜像。

    命令:dokcer images

    上面命令列出本地所有已经存在的镜像,显示的信息如:

    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    ubuntu              latest              ce76de2e871b        8 days ago          188 MB

    说明:docker images 命令可带参数,是个字符串,可以带通配,只显示过滤的镜像。

    二、镜像中心

      本地的镜像是从远程镜像中心(Registry)下载到本地的,默认的镜像中心是docker公司负责运营的docker hub中心。

    在远程镜像中心,镜像是保存在仓库(Repository)中,仓库存在镜像中心(Registry)中。

       每个镜像都有一个唯一的ID号。 一个仓库(如上面的ubuntu)中有多个镜像,通过tag标识来区分不同镜像,一个仓库中的镜像通常是同一种类型的镜像,只是不同版本的区别。换句话说,镜像时由仓库名和tag标识来共同决定的。

       docker hub中有两种类型的镜像:用户仓库(user repository)和顶层仓库(top-level  repository)。用户仓库的镜像是有docker用户创建的。顶层仓库是有docker公司内部管理的。

       用户仓库的命名由用户名和仓库名两部分组成(中间用/分隔);而顶层仓库只有仓库名,如ubuntu仓库。

       总结一下,镜像名称的标准格式是:  用户名/仓库名:Tag名,对于顶层的则没有用户名,如果省略tag名,默认为latest.

    说明:也可以搭建私服的镜像中心,供企业内部使用。

    三、在docker hub中心查找仓库

    通过docker search命令可以查找docker hub上所有公共的可用仓库。

    可以带一个字符串参数(支持通配),用于查找满足命名的仓库。

    举例:docker search mysql

    显示的内容如:

    NAME                       DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
    mysql                      MySQL is a widely used, open-source relati...   1872      [OK]       
    mysql/mysql-server         Optimized MySQL Server Docker images. Crea...   110                  [OK]
    centurylink/mysql          Image containing mysql. Optimized to be li...   38                   [OK]
    sameersbn/mysql                                                            31                   [OK]
    google/mysql               MySQL server for Google Compute Engine          14                   [OK]
    appcontainers/mysql        Centos/Debian/Ubuntu Based Customizable My...   7                    [OK]
    ...................

    返回的每条记录代表一个镜像。包含5个字段信息:
    1)Name:镜像的仓库名。可以看出顶层仓库只有第一个镜像是。其它的都是用户仓库。

    2)Description:仓库的描述信息

    3)Stars:用户评价,反映一个仓库受欢迎的程度

    4)Offical:是否官方,即是否是顶层仓库。可以看出,只有第一个镜像是顶层仓库。

    5)Automated:表示这个镜像是由docker hub自动构建的。

    四、下载镜像

    通过docker run方法是创建容器,如果指定的镜像在本机不存在,则会先去下载镜像。

    可以通过docker pull命令只下载镜像,不创建容器。

    命令: docker pull  [用户名/]仓库名[:TAG]

    含义: 如果只指定仓库名,会下载该仓库下的所有镜像。如果还指定了TAG值,则会下载指定的镜像。

    对于dokcer run命令,只指定仓库名,不指定tag时,默认下载的是 latest标识的镜像。

    举例:

    xxx@ubuntu:~$ docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    ubuntu              latest              ce76de2e871b        8 days ago          188 MB
    xxx@ubuntu:~$ docker pull mysql
    Using default tag: latest
    latest: Pulling from library/mysql
    
    73e8d4f6bf84: Pull complete 
    040bf8e08425: Pull complete 
    86e6c3163927: Pull complete 
    68f4b3625ea4: Pull complete 
    04f7e78a2c8a: Pull complete 
    1bade56c3b6b: Pull complete 
    dd6387e14c18: Pull complete 
    ca30c0626c9b: Pull complete 
    0dc5e226a795: Pull complete 
    6c164b0f04cb: Pull complete 
    5c74d058f7b5: Pull complete 
    0fd3b6e12567: Pull complete 
    e8126a9d061e: Pull complete 
    d17cffff8039: Pull complete 
    1924f4186d05: Pull complete 
    14961e5db73a: Pull complete 
    Digest: sha256:16de02081c408c41361126aaa718f91693688d39a216a74ac8dab841db050228
    Status: Downloaded newer image for mysql:latest
    xxx@ubuntu:~$ docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    mysql               latest              14961e5db73a        4 days ago          361.3 MB
    ubuntu              latest              ce76de2e871b        8 days ago          188 MB

    镜像下载后,就可以通过docker run命令创建相应的容器了。

    五、镜像的复制

    一个镜像是属于一个仓库,一个仓库中有多个镜像,大家靠tag来区分。

    在某些场景下,可能需要把一个已有的镜像 加入(也就是复制)到别的仓库中。这时可以用tag命令。具体的语法格式是:

    docker tag [OPTIONS] orignIMAGE[:TAG] [REGISTRYHOST/][USERNAME/]newNAME[:TAG]

    这个还是挺有用的,比如当创建一个镜像,命名不适合(仓库名和TAg标识),这样相当于改个名,但实际是拷贝一份。

  • 相关阅读:
    福大软工 · BETA 版冲刺前准备(团队)
    Alpha 事后诸葛亮(团队)
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    Alpha 冲刺 (5/10)
    Alpha 冲刺 (4/10)
    福大软工1816 · 团队现场编程实战(抽奖系统)
  • 原文地址:https://www.cnblogs.com/51kata/p/5248721.html
Copyright © 2020-2023  润新知