[关闭]
@zhaikun 2016-12-28T10:16:42.000000Z 字数 1701 阅读 1317

docker 镜像

docker


获取镜像

之前提到过,Docker Hub 上有大量的高质量的镜像可以用,这里我们就说一下怎么获取这些镜像并运行。从 Docker Registry 获取镜像的命令是 docker pull。其命令格式为:

  1. docker pull [选项] [Docker Registry地址]<仓库名>:<标签>

具体的选项可以通过 docker pull --help 命令看到,这里我们说一下镜像名称的格式。

  1. [root@zzk ~]# docker pull centos:centos7.3.1611
  2. Using default tag: latest
  3. Trying to pull repository docker.io/library/centos ...
  4. latest: Pulling from docker.io/library/centos
  5. Digest: sha256:c577af3197aacedf79c5a204cd7f493c8e07ffbce7f88f7600bf19c688c38799
  6. Status: Image is up to date for docker.io/centos:latest
  7. [root@zzk ~]#

从下载过程中可以看到我们之前提及的分层存储的概念,镜像是由多层存储所构成。下载也是一层层的去下载,并非单一文件。下载过程中给出了每一层的 ID 的前 12 位。并且下载结束后,给出该镜像完整的 sha256 的摘要,以确保下载一致性。

在实验上面命令的时候,你可能会发现,你所看到的层 ID 以及 sha256 的摘要和这里的不一样。这是因为官方镜像是一直在维护的,有任何新的 bug,或者版本更新,都会进行修复再以原来的标签发布,这样可以确保任何使用这个标签的用户可以获得更安全、更稳定的镜像。

运行

有了镜像后,我们就可以以这个镜像为基础启动一个容器来运行。以上面的 centos:centos7.3.1611 为例,如果我们打算启动里面的 bash 并且进行交互式操作的话,可以执行下面的命令。

  1. [root@zzk ~]# docker run -it --rm centos:centos7.3.1611 bash
  2. [root@f5545f6fcc16 /]# cat /etc/redhat-release
  3. CentOS Linux release 7.3.1611 (Core)
  4. [root@f5545f6fcc16 ~]# uname -a
  5. Linux f5545f6fcc16 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
  6. [root@f5545f6fcc16 ~]#

docker run 就是运行容器的命令,具体格式我们会在后面的章节讲解,我们这里简要的说明一下上面用到的参数。

最后我们通过 exit 退出了这个容器。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注