与Docker Hub一起工作

到目前为止,我们已经学习了如果用命令行在本地主机上运行Docker,也学习了如何下载image来构建Container。你已经学会了如何创建你自己的image。

下一步,将学习如何使用Docker Hub来简化、提高我们的工作流。

Docker Hub是Docker,Inc维护的public registry。它包含了15,000多个image,可以下载来构建Container。它提供认证、工作组结构、工作流工具(像webhooks、build triggers)和私有化工作,像private repositories,用来储存不想公开分享的image。

Docker Commands 和Docker Hub

       Docker自身提供docker search,pull,login,push命令,访问Docker Hub 服务。

       账号创建和登录

       典型的,将在Docker Hub上创建账户和登录开始。在Docker Hub上直接创建账户,或者通过运行:

$ sudo docker login
        将提示一个用户名,这将成为public repository的公共命名空间。如果用户名可用,Docker将提示输入密码和电邮地址。这将授权你登录。这样,就可以上传自己的image到Docker Hub的repos。

        注意:你的身份认证凭证将被储存在主目录的.dockercg认证文件中。

查询image

        搜索界面或者命令行方式来搜索Docker Hub registry。依据image名字、用户名、描述来搜索image:

$ sudo 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用户的public repository,而第一个centos,没有准确的列明repository,这意味着它来自可被信任的最高级命名空间。/ 将用户repository从image名字中分离。

        一旦你发现了想要的image,可以使用docker pull <imagename>下载:

$ sudo docker pull centos
Pulling repository centos
0b443ba03958: Download complete
539c0211cd76: Download complete
511136ea3c5a: Download complete
7064731afe90: Download complete

Status: Downloaded newer image for centos

          现在拥有了一个可以运行Container的image。

推送仓库到Docker Hub

         为了推送一个repository到registry,你需要已经命名了一个image或者提交了一个Container到已命名的image,如image章节所见。

         现在,可以推送repository到registory,指定name或者tag。

$ sudo docker push yourname/newimage
        image将被上传,团队或者社区可用的。

Docker Hub特性

       进一步了解Docker Hub特性。

  •        Private repositories
  •        组织和团队
  •        自动化的构建
  •        Webhooks

Private Repository

         有时候,有一些image,不想公开或者与别人分享。Docker Hub建立自己的Private repositories。

组织和团队

         Private repositories一个有用的方面,image只是在自己的组织或者团队之间流转。Docker Hub让你创建一个组织,这样可以组织同事,管理Private repositories。

自动化构建

         Automated Builds 在Docker Hub上直接自动来自GitHub或者BitBucker的对image的构建和更新。要这样运作,需要给你选择的GitHub或者BitBucket repository提交一个hook,当你推送一个提交时,出发构建和更新。

         设置自动化构建

1. 创建Docker Hub账户和登录。

2. 通过“Link Accounts”连接你的GitHub或者BitBucket。

3. 配置Automated Builds

4. 选择一个你想要构建Dockerfile的GitHub或者BitBucket项目

5. 选择想要构建的branch(默认是marstr branch)

6. 给Automated Builds一个名字

7. 分配一个可选择的Docker tag 来构建

8. 指定Dockerfile的位置,默认是/。

        一旦Automated Builds配置,它将自动触发构建,几分钟后,将看到你新的Automated Builds将在Docekr Hub Registry上了。将一直与GitHub和BitBucket repository保持同步,直到Automated Builds失效。

       如果想要看到Automated Builds的状态,可以到Docker Hub上的Automated Builds页,它将显示构建状态和构建历史。

       一旦你已经创建Automated Builds,你可以失效或者删除它。你不能推送Automated Builds,使用docker push命令。只能通过向GitHub或者BitBucket repository提交源码来管理它。

        你可以创建多个Automated Builds为每一个repository,配置指定的Dockerfile或者Git branch。

Build  Triggers

        Automated Builds也可以通过Doker Hub上的URL来触发。在需要的时候可以重构Automated Builds image。

Webhooks

       Webhooks将附加在repository,当新image或者更新image被推送到repository时,促发相应事件。通过Webhook,你可以指定传送的目标URL和JSON,当image被推送的时候。

See the Docker Hub documentation for more information on webhooks

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值