在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ Docker Hub上的自動化構(gòu)建
docker用戶指南
鏡像
在Docker中運(yùn)行SSH進(jìn)程服務(wù)
Docker Hub
CentOS
Rackspace Cloud
Red Hat Enterprise Linux
在Docker中運(yùn)行Reids服務(wù)
FrugalWare
管理容器數(shù)據(jù)
Debian
Docker中運(yùn)行MongoDB
Gentoo
在Docker中使用Riak服務(wù)
IBM SoftLayer
在Docker中運(yùn)行Apt-Cacher-ng服務(wù)
開始使用Docker Hub
Amazon EC2
在Docker中運(yùn)行"hello Word"應(yīng)用
Docker Hub上的倉庫和鏡像
Ubuntu
Docker Hub賬戶
Docker中運(yùn)行Node.js web應(yīng)用
Docker中運(yùn)行CouchDB服務(wù)
Fedora
Binaries
CRUX Linux
使用Docker Hub
Mac OS X 安裝 Docker
在Docker中運(yùn)行PostgreSQL
創(chuàng)建一個基本鏡像
Docker Hub上的自動化構(gòu)建
連接容器
Google Cloud Platform
使用docker第一步
使用docker鏡像
Arch Linux
openSUSE
使用容器
Microsoft Windows 安裝docker

Docker Hub上的自動化構(gòu)建

關(guān)于自動化構(gòu)建

自動化構(gòu)建是一個特殊的功能,它允許您在 Docker Hub 上使用構(gòu)建集群,根據(jù)指定的 Dockerfile 或者 GitHub 、 BitBucket 倉庫(或環(huán)境)來自動創(chuàng)建鏡像。該系統(tǒng)將從倉庫復(fù)制一份,并根據(jù)以倉庫為環(huán)境的 Dockerfile 的描述構(gòu)建鏡像。由此產(chǎn)生的鏡像將被上傳到注冊表,并且自動生成標(biāo)記。

自動化構(gòu)建有許多優(yōu)勢:

  • 你的自動化構(gòu)建項目一定是準(zhǔn)確按照預(yù)期構(gòu)建的
  • 在 Docker Hub 注冊表上,任何擁有你倉庫訪問權(quán)限的用戶都樂意瀏覽 Dockerfile
  • 自動化構(gòu)建保證了你的倉庫總是最新的

自動化構(gòu)建支持 GitHubBitBucket 的私有和公有的倉庫。

要使用自動化構(gòu)建,你必須擁有經(jīng)過驗證有效的 Docker Hub 賬戶和 GitHub/Bitbucket 賬戶。

設(shè)置GitHub自動化構(gòu)建

首先,你需要將 GitHub 賬戶鏈接到你的 Docker Hub 賬戶,以允許注冊表查看你的倉庫。

注:目前我們需要有讀寫權(quán)限以建立 Docker Hub 和 GitHub 的掛鉤服務(wù),這是GitHub管理權(quán)限的方式,我們別無選擇。抱歉!我們將保護(hù)您的賬戶及隱私,確保不會被他人非法獲取。

開始構(gòu)建!登錄到你的 Docker Hub 賬戶,點擊屏幕右上方的 "+ Add Repository" 按鈕,選擇自動化構(gòu)建。

選擇GitHub服務(wù)

然后按照說明授權(quán)和連接你的 GitHub 賬戶到 Docker Hub。連接成功后,你就可以選擇用來自動化構(gòu)建的倉庫了。

創(chuàng)建一個自動化構(gòu)建項目

你可以用你的 Dockerfile 從你的公共或者私有倉庫創(chuàng)建一個自動化構(gòu)建項目。

GitHub 子模塊

如果你的 GitHub 倉庫包含了私有子模塊的連接,你需要在 Docker Hub 上添加部署秘鑰。

部署秘鑰位于自動化構(gòu)建主頁的 “Build Details” 菜單。訪問設(shè)置 GitHub 倉庫的頁面,選擇 “Deploy keys” 來添加秘鑰。

Step Screenshot Description
1. 你的自動化構(gòu)建部署秘鑰位于 “Build Details” 菜單的 “Deploy keys” 下。
2. 在你的 GitHub 子模塊倉庫設(shè)置頁,添加部署秘鑰。

GitHub組織

一旦你的組織成員身份設(shè)置為公開,對應(yīng)的 GitHub 組織狀態(tài)便會被公開在你的 GitHub 上。為了驗證,你可以查看 GitHub 上你的組織的成員選項卡。

GitHub服務(wù)掛鉤

按照以下步驟配置自動化構(gòu)建的 GitHub 服務(wù)掛鉤:

Step Screenshot Description
1. http://wiki.jikexueyuan.com/project/docker/images/GitHub_settings.png"> 登錄到 GitHub.com,并轉(zhuǎn)到您的倉庫頁面,點擊右側(cè)頁面“Settings”。 執(zhí)行該操作要求你有該倉庫的管理員權(quán)限。
2. Webhooks & Services 點擊頁面左側(cè)的“Webhooks & Services”。
3. Find the service labeled Docker 找到 "Docker" 并點擊它.
4. Activate Service Hooks 確認(rèn) "Active" 被選中,然后點擊 “Update service” 按鈕以保存您的更改。

設(shè)置BitBucket自動化構(gòu)建

為了設(shè)置自動化構(gòu)建,你需要先把 BitBucket 連接到你的 Docker Hub 賬戶,以允許其訪問你的倉庫。

登錄到你的 Docker Hub 賬戶,點擊屏幕右上方的 "+ Add Repository" 按鈕,選擇自動化構(gòu)建。

選擇的 Bitbucket 服務(wù)

然后按照說明授權(quán)和連接你的 Bitbucket 賬戶到 Docker Hub。連接成功后,你就可以選擇用來自動化構(gòu)建的倉庫了。

創(chuàng)建自動化構(gòu)建項目

你可以用你的 Dockerfile 從你的公共或者私有倉庫創(chuàng)建一個自動化構(gòu)建項目。

Bitbucket服務(wù)掛鉤

當(dāng)你成功連接賬戶以后,一個 POST 掛鉤將會自動被添加到你的倉庫。請按照以下步驟確認(rèn)或者更改你的掛鉤設(shè)置:

Step Screenshot Description
1. http://wiki.jikexueyuan.com/project/docker/images/bitbucket_hook_menu.png" alt="Settings" width="180"> 登錄到 Bitbucket.org 進(jìn)入倉庫頁面。點擊左側(cè)導(dǎo)航下的 “Settings”。執(zhí)行該操作要求你有該倉庫的管理員權(quán)限。
2. http://wiki.jikexueyuan.com/project/docker/images/bitbucket_hook_menu_2.png" alt="Hooks" width="180"> 點擊左側(cè) “Settings” 下的 "Hooks"。
3. Docker Post Hook 現(xiàn)在你應(yīng)該能看到關(guān)聯(lián)了該倉庫的掛鉤列表,包括一個指向 registry.hub.docker.com/hooks/bitbucket 的 POST 掛鉤。

Dockerfile和自動化構(gòu)建

在構(gòu)建過程中,我們將復(fù)制 Dockerfile 的內(nèi)容。我們也將添加它到 Docker Hub 上,使得 Docker 社區(qū)(公共倉庫)或者得到許可的團(tuán)隊成員可以訪問倉庫頁面。

README.md

如果你的倉庫有一個 README.md 文件,我們將使用它作為倉庫的描述。構(gòu)建過程中會尋找 Dockerfile 同一目錄下的 README.md。

警告:如果你需要在創(chuàng)建之后修改描述,它會在下一次自動化構(gòu)建完成之后生效。

建立觸發(fā)器

如果你需要 GitHub 或者 BitBucket 以外的方式來觸發(fā)自動化構(gòu)建,你可以創(chuàng)建一個構(gòu)建觸發(fā)器。當(dāng)你打開構(gòu)建觸發(fā)器,它會提供給你一個 url 來發(fā)送 POST 請求。這將觸發(fā)自動化構(gòu)建過程,類似于 GitHub webhook。

建立觸發(fā)器可在自動化構(gòu)建項目的 Settings 菜單中設(shè)置。

注:你在五分鐘內(nèi)只能觸發(fā)一個構(gòu)建,如果你已經(jīng)進(jìn)行一個構(gòu)建,或你最近提交了構(gòu)建請求,這些請求將被忽略。你可以在設(shè)置頁面來找到最后10條觸發(fā)日志來驗證是否一切正常工作。

Webhooks

也可以使用 Webhooks 來自動化構(gòu)建,Webhooks 會在倉庫推送成功后被調(diào)用。

此webhook調(diào)用將生成一個 HTTP POST,JSON樣例如下:

    {
       "push_data":{
          "pushed_at":1385141110,
          "images":[
             "imagehash1",
             "imagehash2",
             "imagehash3"
          ],
          "pusher":"username"
       },
       "repository":{
          "status":"Active",
          "description":"my docker repo that does cool things",
          "is_automated":false,
          "full_description":"This is my full description",
          "repo_url":"https://registry.hub.docker.com/u/username/reponame/",
          "owner":"username",
          "is_official":false,
          "is_private":false,
          "name":"reponame",
          "namespace":"username",
          "star_count":1,
          "comment_count":1,
          "date_created":1370174400,
          "dockerfile":"my full dockerfile is listed here",
          "repo_name":"username/reponame"
       }
    }

Webhooks 可在自動化構(gòu)建項目的 Settings 菜單中設(shè)置。

注意:如果你想測試你的 webhook,我們建議使用像 requestb.in 的工具。

倉庫鏈接

倉庫鏈接是一種建立自動化項目與項目之間關(guān)聯(lián)的方式。如果一個項目得到更新,連接系統(tǒng)還會觸發(fā)另一個項目的更新構(gòu)建。這使得你可以輕松地讓所有關(guān)聯(lián)項目保持更新同步。

要添加鏈接的話,訪問你想要添加鏈接的項目的倉庫設(shè)置頁面,在設(shè)置菜單下地右側(cè)點擊 “Repository Links”。然后輸入你想要與之鏈接的倉庫名稱。

警告:您可以添加多個倉庫的鏈接,但要小心。自動化構(gòu)建之間的雙向關(guān)系會造成一個永不停止的構(gòu)建循環(huán)。

上一篇:Docker Hub下一篇:Debian