Docker Hub->Create->Create Automated Build
第一次進行該步驟需要Github的授權。會自動跳到Github同意授權即可。
- 在Github上創建一個Docker構建項目,在裏面實現Dockerfile。
該步驟可以在本地完成,然後提交到自己的Github倉庫中。
- 然後繼續進行第一個步驟,在右側選擇Github中的構建倉庫:
每當Dockerfile有新的修改推送到Github的構建倉庫中時,在Docker Hub這裏就會進行自動構建。
在默認的構建中,每推送一次代碼,構建的都是全新的latest版本的構建。不方便對鏡像的版本控制。
最好的方式是:基於push的提交構建出latest版本鏡像,基於tag的提交構建出指定版本的鏡像。
首先在Docker Hub中設置這兩種構建方式:
這裏需要設置兩種方式,當把新的commit推送Github時,Branch那裏就會被觸發,構建出一個latest版本。當把新的tag推送到Github時,Tag那裏就會被觸發,構建出一個tag版本。
【首先別忘了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拉取鏡像了。