您的位置:首页 > 运维架构 > Docker

2.1.4、初识Docker Hub

2015-09-04 21:50 627 查看


初识Docker Hub

目前为止,你已经学习了如何利用命令行在本地运行Docker。你还学习了如何拉取镜像用于从现成的镜像中构建容器,并且还学习了如何创建自己的镜像

接下来,你将会学到如何利用Docker
Hub来简化和加强你的Docker工作流程。

Docker Hub是一个由Docker公司负责维护的公共注册中心,它包含了超过15,000个可供你下载和构建容器的镜像。它还提供认证、工作组结构、类似webhooks的工作流工具、构建触发器以及私有工具(比如私有仓库可用于存储你并不想公开分享的镜像)。


Docker命令和Docker Hub

通过Docker内建的
docker
search
,
pull
,
login
,
push
命令可以访问Docker
Hub服务,本页将向你演示这些命令是如何工作的 。


账号创建和登陆

一般,你需要先在docker hub上创建一个账户并(如果您尚未注册)。你可以直接在Docker
Hub创建你的账户,或通过运行下面的命令:

$ docker login


这时将会提示你输入用户名,这个用户名将成为你的公共仓库的命名空间。如果你的名字合法的,Docker会提示你输入一个密码和邮箱地址。之后,它将会自动登录。你现在可以提交和推送镜像到你的仓库(挂载在Docker
Hub上)。

注意:你的身份验证凭证会被保存到你的home目录下
~/.docker/config.json
验证文件里。


搜索镜像

You can search the Docker Hub registry via its search interface or by using the command line interface. Searching can find images by
image name, user name, or description:

你可以通过使用搜索接口或者通过使用命令行接口搜索 Docker
Hub注册中心(某个镜像仓库) 。可以通过镜像名称、用户名或者描述来搜索镜像:
$ docker search centos
NAME           DESCRIPTION                                     STARS     OFFICIAL   TRUSTED
centos         Official CentOS 6 Image as of 12 April 2014     88
tianon/centos  CentOS 5 and 6, created using rinse instea...   21
...


这里你可以看到两个搜索的示例结果:
centos
tianon/centos
。第二个结果表明它是来自名为
tianon/
的用户仓储库,而第一个结果
centos
没有指定具体的仓库,这就意味着它是来自可信的顶层仓库。
/
字符将用户的仓库和镜像名字分开。

一旦你搜索到你想要的镜像时,便可以用
docker
pull <imagename>
:来下载它:
$ docker pull centos
Pulling repository centos
0b443ba03958: Download complete
539c0211cd76: Download complete
511136ea3c5a: Download complete
7064731afe90: Download complete

Status: Downloaded newer image for centos



现在你有一个镜像,基于它你可以运行容器。


贡献到Docker Hub

任何人都可以从Docker
Hub注册中心下载公开的镜像,但是如果你想要分享你的镜像,那么,你就必须先注册


推送一个仓库到Docker Hub

为了推送一个仓库到它的注册库中,你需要一个命名一个镜像或者将你的容器提到为一个命名的镜像,和这里看到的一样。

现在,你可以将这个仓库推送到注册库(指定的名字或标签)。

$ docker push yourname/newimage


镜像上传之后,你的队友或者社区成员就可以使用它。


Docker Hub的特点

让我们再进一步看看Docker Hub的特点,这里你可以看到更多的信息。

私有仓库
组织和团队
自动构建
Webhooks


私有仓库

有时候,你有一些镜像不想公开或者跟任何分享。所以Docker Hub允许你有私有仓库,你可以在这里注册一个。


组织和团队

私人仓库一个较有用的地方,你可以将仓库分享给你团队或者你的组织。Docker Hub支持创建组织,这样你可以和你的同事来管理你的私有仓库,在这里你可以学到如何创建和管理一个组织。


自动构建

自动构建功能会自动从GitHubBitbucket直接将镜像构建或更新至Docker
Hub。通过为Github或Bitbucket的仓库添加一个提交的hook来实现,当你推送提交的时候就会触发构建和更新。


自动构建的设置

创建一个Docker Hub账号并登陆
通过 “Link Accounts”菜单连接你的Github或Bitbucket账户
配置一个自动化构建
选择一个你想要构建且包含一个
Dockerfile
文件的项目,在Github或Bitbucket里。
选择一个你想构建的分支(默认是
master
分支)
给自动化构建起一个名字
分配一个可选的Docker标签去构建
指定
Dockerfile
的地址。默认是
/


一旦配置好自动构建,就会自动触发构建,只需几分钟,你就会Docker
Hub注册中心看到你新的构建结果。它将会和你的Github或者BitBucket保持同步更新直到你解除自动构建。

如果你想检查你自动化构建的输出和状态, 在“Your
Repositories”页面点击一个仓库名即可。自动构建在仓库的详细页面,你可以点击“Build Details”选卡去查看Docker Hub 的所有构建触发输出和状态。

如果你想看到你自动化构建的状态,你可以去你的Docker Hub自动化构建页面,它将会想你展示你构建的状态和构建历史。

一旦你创建了一个自动化构建,你可以禁用或删除它。但是,你不能通过
docker
push
推送一个自动化构建。你只能通过在Github或者BitBucket提交你的代码来管理它。

你可以在每个仓库中创建多个自动构建,配置它们指向指定的
Dockerfile
或Git
分支。


构建触发器

自动构建也可以通过Docker Hub的URL来触发。这允许你根据需求重建一个自动化构建镜像。


Webhooks

Webhooks属于你的仓库的一部分,当一个镜像或镜像更新推送到你的仓库时,允许你触发一个事件。当你的镜像被推送的时候,webhook可以根据你指定的URL传递一个有效的Json信息。

获取更多关于Docker Hub 的webhooks信息,请移步到这里

来源: <https://docs.docker.com/userguide/dockerrepos/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: