Docker Hub 之 自动构建

作者: Dsir 分类: Server 发布时间: 2018年05月31日 17时12分

前言

在上一篇文章中简单的介绍了 Docker Hub使用 的基本使用 ,在本章节中我会把我总结的 Webhooks 自动构建一步步的分享给大家。

什么是自动构建

使用第三方docker服务来帮助编译镜像,可以在互联网上面直接拉取到镜像,减少了繁琐的编译过程。这真的体现了run any where这个口号

为什么要使用自动构建

比如产品和开发环境都依赖docker,在部署的时候发现修改线上镜像非常的麻烦,通常一个完整的部署需要以下几步:

  • 本地编写测试dockerfile

  • 上传dockerfile到测试环境

  • 删除原有镜像

  • 测试环境构建新镜像

  • 上传dockerfile到线上

  • 删除原有镜像

  • 上线环境构建新镜像

从GitHub自动构建

1527754018850870.png

1、创建自动构建仓库

1527754050635820.png

2、需要连接你的 GitHub 或者 Bitbucket,基于GitHub进行以下操作

1527754078450877.png

3、设置Docker Hub对 GitHub账户的有读和写的权限

1527754110312118.png

4、登录GitHub账户进行授权

1527754139117852.png

5、账户关联后需要在点击 Create Automated Build 创建 (第一步创建自动构建仓库),然后选择 Create GitHub,再根据你目前需求选择你要构建的Git仓库

1527754168914970.png

6、如果Dockerfile在根目录则不需要特别处理,否则需要点击 Click here to customize 配置你的Dockerfile路径,Create之后会自动跳转到当前创建的仓库。

1527754327247828.png

7、设置 Docker Hub 在 GitHub 仓库 push 代码的时候自动根据 dockerfile 构建镜像

1527754363372874.png

8、存储库链接可让您将一个自动编译链接与另一个链接。如果一个自动构建得到更新,Docker会触发另一个构建。这可以很容易地确保相关图像保持同步。您可以链接多个图像存储库。您只需链接两个相关版本的一侧。连接双方导致无尽的构建循环。

添加链接:

    1.转到自动构建存储库的构建设置。

    2.在“储存库链接”部分中,输入图像储存库名称。

    远程存储库名称应该是官方存储库名称ubuntu或公共存储库名称namespace/repoName

    3.按添加

1527754556254384.png

9、push 你的 dockerfile 到github,再看 dockerhub 的Build Details会发现已经在Build镜像了(文档上说五分钟内提交的代码之后构建一次,其他的则会忽略)

1527754592154130.png

状态:

  • Queued: 排队状态,队列时间取决于可用的并发构建数量。

  • Building: 图像正在建立中。

  • Success: 图像已经建成。

  • Error: 您的 image 存在问题。点击该行进入 Builds Details 屏幕。页面顶部的横幅显示日志文件的最后一个句子,表示错误是什么。如果您需要更多信息,请滚动至屏幕底部至日志部分。

10、当镜像构建完毕变成success状态时 docker pull xxxx/xxxx 就已经可以看到已经在拉取镜像了,之后dockerfile更新了也只需要在服务器上面重新执行上面的命令就可以了,是不是方便多了

Webhooks 自动构建

注:因为Webhooks不区分仓库类型,就直接基于刚才创建的仓库进行分享了

1、Webhook是发送到提供服务的定义URL的POST请求。如果还没定义好,可以临时填写一个网址如http://baidu.com也可以(后期接口完成后再改),其它默认。点击save时,webhook会发送一个测试请求,用于测试url的有效性。测试通过后就成功的创建了一个webhook

1527754650183534.png

2、Docker Hub 向指定的 URL 发送的 POST 数据如下:
{
  "callback_url": "https://registry.hub.docker.com/u/svendowideit/testhook/hook/2141b5bi5i5b02bec211i4eeih0242eg11000a/",
  "push_data": {
    "images": [
        "27d47432a69bca5f2700e4dff7de0388ed65f9d3fb1ec645e2bc24c223dc1cc3",
        "51a9c7c1f8bb2fa19bcd09789a34e63f35abb80044bc10196e304f6634cc582c",
        "..."
    ],
    "pushed_at": 1.417566161e+09,
    "pusher": "trustedbuilder",
    "tag": "latest"
  },
  "repository": {
    "comment_count": 0,
    "date_created": 1.417494799e+09,
    "description": "",
    "dockerfile": "#\n# BUILD\u0009\u0009docker build -t svendowideit/apt-cacher .\n# RUN\u0009\u0009docker run -d -p 3142:3142 -name apt-cacher-run apt-cacher\n#\n# and then you can run containers with:\n# \u0009\u0009docker run -t -i -rm -e http_proxy http://192.168.1.2:3142/ debian bash\n#\nFROM\u0009\u0009ubuntu\n\n\nVOLUME\u0009\u0009[\/var/cache/apt-cacher-ng\]\nRUN\u0009\u0009apt-get update ; apt-get install -yq apt-cacher-ng\n\nEXPOSE \u0009\u00093142\nCMD\u0009\u0009chmod 777 /var/cache/apt-cacher-ng ; /etc/init.d/apt-cacher-ng start ; tail -f /var/log/apt-cacher-ng/*\n",
    "full_description": "Docker Hub based automated build from a GitHub repo",
    "is_official": false,
    "is_private": true,
    "is_trusted": true,
    "name": "testhook",
    "namespace": "svendowideit",
    "owner": "svendowideit",
    "repo_name": "svendowideit/testhook",
    "repo_url": "https://registry.hub.docker.com/u/svendowideit/testhook/",
    "star_count": 0,
    "status": "Active"
  }}
最后构建脚本进行一系列处理之后触发docker下载镜像等等命令(类似Git的钩子脚本一样)


总结

学无止境,有种越活越不会的感觉

如果觉得我的文章对您有用,请随意打赏、分享。您的支持将鼓励我继续创作!

微博分享
148条评论
  • Writingagede

    2019年02日19日 01:03

    essay writing competition topics http://research-paper-topic.ultius.collegeessayexamples.gdn essay outline example apa

  • Efabekagede

    2019年02日21日 05:06

    greenhouse effect and global warming essay http://online-review-writing-jobs.essayshark.collegeessayexamples.gdn sample application essay

  • Lloydner

    2019年02日21日 19:42

    【揚歌-教學麥克風直營店】官方線上購物網站─JM-180B有線麥克風擴音器│無線麥克風擴音器│揚歌小蜜蜂│專營教學麥克風及教學擴音器 https://mic-shop.com/

  • Williamplack

    2019年02日21日 19:42

    【揚歌-教學麥克風直營店】官方線上購物網站─JM-180B有線麥克風擴音器│無線麥克風擴音器│揚歌小蜜蜂│專營教學麥克風及教學擴音器 https://mic-shop.com/

  • Best Payday Loan

    2019年02日24日 02:39

    <a href="http://loansforbadcredit2019.com/">unsecured loans for bad credit</a>

  • Money Loan

    2019年02日24日 02:39

    <a href="http://loansforbadcredit2019.com/">loans for bad credit</a>

  • Payday Express

    2019年02日24日 02:40

    <a href="https://loansforbadcredit2019.com/">loans for bad credit</a>

  • Direct Lender Loans

    2019年02日24日 03:18

    <a href="https://loansforbadcredit2019.com/">loans for bad credit</a>

  • Nip

    2019年02日24日 11:50

    <a href=https://dedicatet.com/tags/cheker-akkauntov/>взлом соц сетей 2019</a>

  • BradyTip

    2019年02日25日 16:02

    918Kiss Online download link 918Kiss 918Kiss Register 918Kiss download apk 918Kiss download ios

  • puhlandNus

    2019年02日25日 17:15

    http://puhland.ru - распродажа курток и пуховиков - можно купить на сайте или в магазине http://puhland.ru - puhland.ru

  • Dissertagede

    2019年02日27日 03:33

    sat sample essays http://abortion-research-paper-examples.writemypapers.collegeessayexamples.gdn writing an academic essay

  • Quick Loan

    2019年02日28日 08:44

    <a href="https://loansforbadcredit2019.com/">private lenders for bad credit</a>

  • Loans Online

    2019年02日28日 11:40

    <a href="https://loansforbadcredit2019.com/">loans for bad credit</a>

  • Best Online Loans

    2019年02日28日 11:40

    <a href="http://loansforbadcredit2019.com/">loans for bad credit</a>

  • Loans

    2019年02日28日 11:40

    <a href="http://loansforbadcredit2019.com/">loans for bad credit</a>

  • Yorkyagede

    2019年03日01日 10:14

    literary essay introduction http://the-scarlett-letter-author.customwritings.collegeessayexamples.gdn dissertation architecture

  • heema

    2019年03日02日 06:00

    регистрируйся и зарабатывай <a href=http://admiralxcazino.ru/>официальный клуб казино регистрируйся и зарабатывай...</a>

  • Writeragede

    2019年03日03日 10:49

    nyu stern essay http://introduction-in-a-essay.ultius.collegeessayexamples.gdn good essay topics for high school

  • RobertCal

    2019年03日05日 01:31

    24/7 Car Accident Attorney | Aggressive Car Accident Lawyers https://caraccidentattorney.us.com - Click here!

  • marina-aspa5l

    2019年03日05日 04:05

    Willingly I accept. In my opinion, it is actual, I will take part in discussion. Together we can come to a right answer.

  • Schoolagede

    2019年03日05日 10:40

    writing an effective essay http://analysis-of-the-lord-of-the-flies.ultius.collegeessayexamples.gdn proposal essays topics

  • KennethLax

    2019年03日05日 11:56

    http://wls-surgery.com - Trust Pharmacy - Online Pharmacy You Can Rely On!

  • marina-aspa5l

    2019年03日05日 14:01

    Нече себе !!!!!!!!!!!!!!!!!

  • Nip

    2019年03日05日 21:05

    <a href=https://dedicatet.com/threads/besplatnye-proxy-http-socks.650/>бесплатные прокси socks5</a>

  • Jesse Prund

    2019年03日07日 23:07

    how to choose yourself best <a href=http://stairsprom.ru>stair railings</a> in a country house

  • Wekoragede

    2019年03日09日 17:43

    dissertation marking scheme http://essay-on-globalisation.essayshark.collegeessayexamples.gdn bill gates millenium scholarship essays

  • Briancat

    2019年03日09日 22:51

    台北市 萬華 禾云室內設計 http://interior-plan.com/

  • HarryHeema

    2019年03日11日 11:55

    Cheers! Lots of info. <a href=http://viagra.bingapproved.club>viagra generic</a>

  • MiguelStisp

    2019年03日14日 06:18

    XYZ|國中基測|基測|基測歷屆試題|命題光碟|基測中心|基測試題滿1000送200 http://xyz.net.tw/

  • GeraldKef

    2019年03日14日 15:35

    >喜多福食品,乾拌麵,拌麵,乾麵,呷什麵,關廟麵,手工麵,手作麵 https://www.sidofu.net/

  • ArthurTef

    2019年03日14日 15:35

    【後宮情色網】av影片種類最齊全 | 無碼光碟 | 無碼DVD | 無碼女優http://www.av-50.com/

  • JamesSer

    2019年03日14日 15:35

    後宮情色線上影音網 - 中文有碼 中文無碼 番號搜索 http://50-video.com/

  • Barry Bop

    2019年03日14日 16:28

    Выбираем для себя лучшие <a href=http://marshag.ru/ograzhdeniya-i-perila>ограждения лестничные</a> в вашу квартиру

  • Conoragede

    2019年03日14日 19:10

    accounting essay topics http://paperwritingservice.gdn/payforessay/write-paper-for-me.html essays on respect

  • RobertnaisM

    2019年03日15日 15:35

    Game LIFE 遊戲情報http://gamelife.tw/

  • Robertboone

    2019年03日15日 15:35

    民視眼鏡 - 媒體認證台北市士林最便宜眼鏡配到好http://www.people-eye.com.tw/

  • Martyjumma

    2019年03日15日 15:35

    日本片商合法授權 極道光碟屋 台中AV女優光碟店 日本片商合法授權 – AV女優光碟.名器專賣(未滿18歲禁止)http://avgood-store.com/

  • Kiethmearl

    2019年03日15日 16:56

    XYZ|國中基測|基測|基測歷屆試題|命題光碟|基測中心|基測試題滿1000送200 http://xyz.net.tw/

  • MatthewSpali

    2019年03日16日 18:25

    unethost無限空間虛擬主機 http://blog.unethost.com/

  • Conoragede

    2019年03日17日 01:07

    essay application for college http://paperwritingservice.gdn/online-phd-programs/best-schools-for-physical-therapy.html essay easy topics

  • Pekumagede

    2019年03日18日 10:41

    findings and analysis dissertation example http://paperwritingservice.gdn/research-paper/advertising-research-papers.html dissertation paper

  • truschckinai

    2019年03日18日 10:55

    Все о морском и речном транспорте. Как отмыть днище лодки или катера. <a href=http://wb.matrixplus.ru/>Купить химию для мойки катеров</a>

  • Nip

    2019年03日19日 06:39

    <a href=https://dedicatet.com>Творческая Лаборатория DedicateT</a>

  • JamesSer

    2019年03日19日 12:30

    後宮情色線上影音網 - 中文有碼 中文無碼 番號搜索 http://50-video.com/

  • Samuellag

    2019年03日19日 15:01

    XYZ|國中基測|基測|基測歷屆試題|命題光碟|基測中心|基測試題滿1000送200 http://xyz.net.tw/

  • Rubenlen

    2019年03日19日 15:01

    XYZ|國中基測|基測|基測歷屆試題|命題光碟|基測中心|基測試題滿1000送200 http://xyz.net.tw/

  • RobertOptop

    2019年03日19日 15:01

    XYZ|國中基測|基測|基測歷屆試題|命題光碟|基測中心|基測試題滿1000送200 http://xyz.net.tw/

  • GeraldKef

    2019年03日20日 12:04

    >喜多福食品,乾拌麵,拌麵,乾麵,呷什麵,關廟麵,手工麵,手作麵 https://www.sidofu.net/

  • Checkeragede

    2019年03日20日 19:47

    essay on cleanliness is next to godliness http://paperwritingservice.gdn/essayshark/great-depression-essay-topics.html global regents thematic essay

  • MichealVioda

    2019年03日20日 21:47

    【揚歌-教學麥克風直營店】官方線上購物網站─JM-180B有線麥克風擴音器│無線麥克風擴音器│揚歌小蜜蜂│專營教學麥克風及教學擴音器 https://mic-shop.com/

  • Justindax

    2019年03日21日 16:09

    XYZ|國中基測|基測|基測歷屆試題|命題光碟|基測中心|基測試題滿1000送200 http://xyz.net.tw/

  • Terrygew

    2019年03日21日 16:09

    XYZ|國中基測|基測|基測歷屆試題|命題光碟|基測中心|基測試題滿1000送200 http://xyz.net.tw/

  • MatthewSpali

    2019年03日21日 19:04

    unethost無限空間虛擬主機 http://blog.unethost.com/

发表评论

电子邮件地址不会被公开。 必填项已用*标注