1.获取镜像
可以使用 docker [image] pull 命令直接从 Docker Hub 镜像源来下载镜像。 该命 令的格式为 docker [image] pull NAME [ :TAG] 。
其中, NAME是镜像仓库名称(用来区分镜像), TAG是镜像的标签(往往用来表示版本 信息) 。 通常情况下, 描述一个镜像需要包括 “名称+标签“ 信息。
例如, 获取一个 Ubuntu 18.04 系统的基础镜像可以使用如下的命令:
$ docker pull ubuntu: 18. 04 18. 04: Pulling from library/ubuntu
对于Docker镜像来说, 如果不显式指定TAG, 则默认会选择latest标签,这会下载 仓库中最新版本的镜像。
下面的例子将从Docker Hub 的Ubuntu仓库下载一个最新版本的Ubuntu操作系统的镜像:
$ docker pull ubuntu Using default tag: latest latest: Pulling from library/ubuntu Digest: sha256:e27e9d7f7f28d67aa9e2d7540bdc2b33254b452ee8e60f388875e5b7d9b2b696 Sta七us: Downloaded newer image for ubuntu:latest
该命令实际上下载的就是 ubuntu:latest镜像。
注意:
一般来说, 镜像的latest 标签意味着该镜像的内容会跟踪最新版本的变更而变化,内容是不稳定的。因此,从稳定性上考虑,不要在生产环境中忽略镜像的标签信息或使 用默认的latest 标记的镜像。
读者可能会想到, 在不同的镜像仓库服务器的情况下,可能会出现镜像重名的情况。
严格地讲,镜像的仓库名称中还应该添加仓库地址(即registry, 注册服务器)作为前缀 ,只是默认使用的是官方DockerHub服务 ,该前缀可以忽略。
$ docker pull ubuntu: 18.04
命令相当于
$ docker pull registry.hub.docker.com/ubuntu:18.04
即从默认的注册服务器DockerHub Registry中的 ubuntu 仓库来下载标记为18.04的镜像。
如果从非官方的仓库 下载,则需要在仓库名称前指定完整的仓库地址。
例如从网易蜂巢的镜像源来下载ubun七u:18.04镜像,可以使用如下命令,此时下载的镜像名称为hub.c.163 .com/public/ubuntu:18.04:
$ docker pull hub.c.163.com/public/ubuntu:18.04
pull 子命令支持的 选项主要包括:
-a, --all tags=true | false : 是否获取仓库中的所有镜像,默认为否;
--disable-content-trust :取消镜像的内容校验,默认为真。
另外,有 时需要使用镜像代理服务来加速Docker镜像获取过程 ,可以在Docker服务启动配置中增加 --registry-mirror=proxy_URL来指定镜像代理服务地址(如https://registry.docker-en.com。 )
下载镜像到本地后, 即可随时使用该镜像了, 例如利用该镜像创建一个容器,在其中运
行bash应用, 执行打印 "Hello World"命令:
$ docker run -it ubuntu:18.04 bash
root@65663247040f:/# echo "Hello World" Hello World root@65663247040f:/# exit
查看镜像信息
本节主要介绍Docker镜像的ls、tag和inspect子命令。
使用images命令列出镜像
$ docker images
$ docker tag ubuntu:latest myubunt:latest
$ docker [image] inspect ubuntu:18.04
上面代码返回的是一 个JSON 格式的消息, 如果我们只要其中一项内容时, 可以使用 -f 来指定, 例如,获取镜像的 Architecture:
$ docker [image] inspect -f {{."Architecture}} ubuntu:18.04