首页 » 翻译 » Docker » 正文

Docker 入门教程04 从镜像开始(image)第二部分

原文地址:https://docs.docker.com/userguide/dockerimages/

获取一个全新的镜像

那么我们应该如何获取一个全新的镜像呢?docker确实可以下载任何我们需要使用的镜像(从Docker hup),但是这样做无疑会增加许多额外的时间,如果我们想提前把镜像下载到本机Host,可以使用如下命令
docker pull,比如我们要下载centos镜像

$ docker pull centos
Pulling repository centos
b7de3133ff98: Pulling dependent layers
5cc9e91966f7: Pulling fs layer
511136ea3c5a: Download complete
ef52fb1fe610: Download complete
. . .

Status: Downloaded newer image for centos

我们可以看到每一层的镜像均被下载到本地了,这个时候我们就不需要等待镜像下载了

例如:
docker run -t -i centos /bin/bash

查找一个镜像

docker的一个特点就是很多人因为各种不同的原因创建了很多镜像,绝大部分镜像都被用户上传到了Docker Hub ,我们可以直接在Docker Hub上进行检索

如果你不想登录网站,我们可以通过命令 docker search 直接搜索,比如,我们需要一个镜像来发布我们的网站,镜像必须安装了ruby 和Sinatra ,我们就可以通过命令

docker search sinatra 来查找所有包含sinatra的镜像

如下是我本机的搜索结果:


[root@fedora ~]# docker search sinatra
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
tdiary/rpaproxy-sinatra 1 [OK]
gwjjeff/sinatra 0 [OK]
shaoheshan/sinatra 0 [OK]
hacker314159/ruby-sinatra 0 [OK]
zoomix/sinatra-galleria 0 [OK]
dcarley/example-ruby-sinatra 0 [OK]
llamashoes/docker-sinatra 0 [OK]
waitingkuo/benchrock-sinatra 0 [OK]
erikap/ruby-sinatra Docker for hosting Sinatra apps 0 [OK]
larmar/sinatra-puppet 0 [OK]
[root@fedora ~]#

我们可以看到命令返回了很多镜像名称,描述,星级(就是评分)如果一个用户觉得镜像好用,就是给一个星,星越多,说明镜像越多人喜欢;然后一项是是否是官方 然后是 是否是自动化的,官方镜像是Docker官方提供并提供支持,自动化的分支允许你查看这个镜像的源代码

比如我们决定使用名称为:training/sinatra 镜像(坑爹的,我本地就查到这个好么),到目前为止,我们见到了两个镜像分支了,一个是ubuntu,我们称之为为根镜像,这些基础地镜像由Docker提供,检测和支持,我们可以很容易得通过名称进行区分。

我们也看到了用户的镜像,例如 trainning/sinatra,用户的镜像属于Docker社区的某个用户,然后由作者创建并支持,我们可以通过前缀来区分,trainning就是创建这个镜像的作者

下载镜像

选择好镜像之后,我们就可以通过命令把镜像下载到本地了

docker pull trainning/sinatra

然后我们就可以使用这个镜像了

docker run -i -t trainning/sinatra /bin/bash

欢迎转载,转载请注明出处:http://www.503error.com/

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)