Docker Hub設定自動化建置映像檔

Docker Hub 設定自動化建置映像檔

丹尼正在學習自行客製化Docker映像檔並發佈至Docker hub上使用時,發現許多發佈的Docker映像當中都會包含Source Repository這項目,項目提供超鏈結網址指向GitHub

並且網頁選項功能除了Repo InfoTags外,還有

  • Dockerfile直接看到原始碼內容

  • Build Details項目還能查看映像檔建立的時間與版本Tag

這是如何辦到的呢?查完官方文件後才知道官網有提供一種Automated builds功能,它與GitHub帳號連結後,利用GitHub上發佈Dockefile的內容當來源,再經過幾個事件觸發就會自動化部署對應的Docker映像檔至Docker伺服器中,要使用此功能必需要在建立專案時選擇屬性為Automated Builds,下圖為建立Docker倉庫時總共有三個類型可以選擇。

接下來會以Create Automated Build功能來討論如何產生自動化建置。

Docker Hub連結 GitHub帳號

首先登入你的Docker Hub帳號,並至Linked Accounts & Services進行與GitHub帳號連結,

選擇Link Github後進入設定存取類型,

如果你想要自動化部署就必需要選擇Public and Private,讓Docker Hub存取一些設定,

對於授權有疑問的話,按下上圖紅框處下箭頭能看到說明,下圖為詳細說明內容,

一切沒問題就接著按下Authorize docker進行授權,授權成功後就會再回到Linked Accounts & Services

此時上圖紅框處所顯示你已經與Github帳號連結成功,如果你要想要變更成其他Github帳號或取消不再與Github有連結,就按下Unlink Github與Docker Hub不再連結,但要注意的一點,按下Unlink Github功能只是在Docker Hub上不再使用此Github帳號產生連結,但Github先前給與Docker的授權仍然存在,必需要自行至Github上取消授權才行,如下圖畫面:

選擇Authorized OAuth Apps功能,它會列出所有給予授權的App名稱,在每個列表後會有Revoke按鍵,按下Revoke才會真正的取消授權,往後確定不再讓你的Docker Hub帳號與Github帳號有授權關系時就一定要至Github取消授權。