【Docker技术入门与实战】获取镜像


本文节选自《Docker技术入门与实战》,华章授权DockerOne发布本书样章,禁止以任何形式转载此文。

镜像是Docker运行容器的前提。

读者可以使用docker pull命令从网络上下载镜像。该命令的格式为docker pull NAME[:TAG]。对于Docker镜像来说,如果不显式地指定TAG,则默认会选择latest标签,即下载仓库中最新版本的镜像。

下面,笔者将演示如何从Docker Hub的Ubuntu仓库下载一个最新的Ubuntu操作系统的镜像。
$ sudo docker pull ubuntu
ubuntu:latest: The image you are pulling has been verified


d497ad3926c8: Downloading [======> ] 25.41 MB/201.6 MB 51m14s
ccb62158e970: Download complete
e791be0477f2: Download complete
3680052c0f5c: Download complete
22093c35d77b: Download complete
5506de2b643b: Download complete
511136ea3c5a: Download complete

该命令实际上下载的就是ubuntu:latest镜像,目前最新的14.04版本的镜像。

下载过程中可以看出,镜像文件一般由若干层组成,行首的2185fd50e2ca这样的字串代表了各层的ID。下载过程中会获取并输出镜像的各层信息。层(Layer)其实是AUFS(Advanced Union File System,一种联合文件系统)中的重要概念,是实现增量保存与更新的基础。

读者还可以通过指定标签来下载特定版本的某一个镜像,例如14.04标签的镜像。
$ sudo docker pull ubuntu:14.04
上面两条命令实际上都相当于$ sudo docker pull registry.hub.docker.com/ubuntu:latest命令,即从默认的注册服务器 registry.hub.docker.com中的ubuntu仓库来下载标记为latest的镜像。

用户也可以选择从其他注册服务器的仓库下载。此时,需要在仓库名称前指定完整的仓库注册服务器地址。例如从DockerPool社区的镜像源dl.dockerpool.com下载最新的Ubuntu镜像。
$ sudo docker pull dl.dockerpool.com:5000/ubuntu
下载镜像到本地后,即可随时使用该镜像了,例如利用该镜像创建一个容器,在其中运行 bash 应用。
$ sudo docker run -t -i ubuntu /bin/bash
root@fe7fc4bd8fc9:/#

1 个评论

index.docker.io被墙了,docker的镜像得去daocloud下载吗?
可是怎么解决
"Could not read CA certificate "/Users/lily/.boot2docker/certs/boot2docker-vm/ca.pem": open /Users/lily/.boot2docker/certs/boot2docker-vm/ca.pem: no such file or directory

要回复文章请先登录注册