(对docker感兴趣的朋友可以加我的微信ghostcloud2016,然后我把你加到我们的一个docker爱好者群组里面。)
到目前为止,我们已经学习了docker的基本用法,包括拉取镜像,运行容器,编译镜像文件等等。接下来,我们将学习如何通过docker hub来简化你的操作,并提高你的工作效率。 docker hub是docker的主仓库,由docker公司进行维护。这个仓库里面包含了系统的官方镜像,同时提供简单的用户认证信息,以及其他的附属功能。默认情况下,这个仓库是免费的,但是你的所有镜像也是公开的。跟github类似,如果你需要一个私有的仓库,那么需要付费。
docker 本身和仓库相关的命令包括docker search, pull, login, push。下面我们将详细介绍这些命令的用法。
如果你没有docker hub账号,你可以从https://hub.docker.com进行注册。注册成功后,通过下面命令进行登录:
这个命令将提示你输入用户名和密码。你的用户信息将被纪录在~/.docker/config.json文件中。
你可以在docker hub主页上搜索镜像,不过我一般喜欢在命令行中进行搜索。
上面查找出了两个镜像,第一个是centos,这个是官方镜像,没有任何前缀; tianon/centos 是tianon用户自己的centos,从这而你也可以看出,用户的镜像默认是公开的。 当你找到镜像以后,你可以执行docker pull :
执行完毕后,centos镜像就被拉取到本地了。
使用docker pull centos 等同于docker pull centos:latest。如果想下载其他版本的镜像,可以指定相应的tag,比如:docker pull centos:centos5。
每个人都可以将公共的镜像提交到docker hub registry,只是这个是公共的仓库。
如果你要推送镜像到docker hub,你需要一个命名的image。其格式如下:
如果你的镜像是自己构建的,你需要用docker tag来进行标记后,再进行提交。如果你想提交容器,就需要先docker commit成镜像,再提交。