Docker Hub結合Github自動化構建鏡像

  • 讓Github與Docker Hub進行綁定
Docker Hub->Create->Create Automated Build
第一次進行該步驟需要Github的授權。會自動跳到Github同意授權即可。

  • 在Github上創建一個Docker構建項目,在裏面實現Dockerfile。
該步驟可以在本地完成,然後提交到自己的Github倉庫中。

  • 然後繼續進行第一個步驟,在右側選擇Github中的構建倉庫:

  • 推送更新,自動構建
每當Dockerfile有新的修改推送到Github的構建倉庫中時,在Docker Hub這裏就會進行自動構建。

  • 基於tag的推送
在默認的構建中,每推送一次代碼,構建的都是全新的latest版本的構建。不方便對鏡像的版本控制。
最好的方式是:基於push的提交構建出latest版本鏡像,基於tag的提交構建出指定版本的鏡像。
首先在Docker Hub中設置這兩種構建方式:


這裏需要設置兩種方式,當把新的commit推送Github時,Branch那裏就會被觸發,構建出一個latest版本。當把新的tag推送到Github時,Tag那裏就會被觸發,構建出一個tag版本。

  • 推送tag到Github
【首先別忘了add、commit、push代碼。然後再去做tag的事情】
執行以下git命令推送一個tag到Git服務器:

對最新的一次commit打個tag,tag的版本爲1.6   . 到時候構建出來的鏡像的版本也是1.6
git tag -a 1.6 -m “message"

推送本地的tag到遠程。
git push origin --tags

完成以上步驟後,Docker Hub就會分別基於代碼的提交和tag的提交,分別構建兩次。兩次構建出來的版本分別是latest、1.6 。

通過這種自動構建的方式,我們就不需要手動“docker build”方式構建鏡像了,也不用手動的維護鏡像的版本號。當然在推送Dockerfile時,最好都是能在本地測試通過的。之後的版本、鏡像控制就交給Git和Docker Hub了。這樣我們在任何機器上都可以非常快速的從Docker Hub拉取鏡像了。

  • 案例
Tomcat-CentOS鏡像Docker hub地址:https://hub.docker.com/r/chenyufeng/tomcat-centos/

發佈了700 篇原創文章 · 獲贊 1462 · 訪問量 356萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章