下一步,將學習如何使用docker hub來簡化、提高我們的工作流。
docker commands 和docker hub
docker自身提供docker search,pull,login,push命令,訪問docker hub 服務。
賬號建立和登入
典型的,將在docker hub上建立賬戶和登入開始。在docker hub上直接建立賬戶,或者通過執行:
$ sudo docker login
將提示乙個使用者名稱,這將成為public repository的公共命名空間。如果使用者名稱可用,docker將提示輸入密碼和電郵位址。這將授權你登入。這樣,就可以上傳自己的image到docker hub的repos。
注意:你的身份認證憑證將被儲存在主目錄的.dockercg認證檔案中。
查詢image
搜尋介面或者命令列方式來搜尋docker hub registry。依據image名字、使用者名稱、描述來搜尋image:
$ sudo docker search centos
name description stars official trusted
centos
official
centos
6image
asof
12april
2014
88tianon
/centos
centos
5and6,
created
using
rinse instea
...21
...
可以看到兩個案例結果:centos和tianon/centos。這第二個顯示它來自乙個叫做tianon使用者的public repository,而第乙個centos,沒有準確的列明repository,這意味著它來自可被信任的最高端命名空間。/ 將使用者repository從image名字中分離。
$ sudo docker pull centos
pulling
repository centos
0b443ba03958
:download
complete
539c0211cd76
:download
complete
511136ea3c5a
:download
complete
7064731afe90
:download
complete
status
:downloaded
newer image
forcentos
現在擁有了乙個可以執行container的image。
推送倉庫到docker hub
為了推送乙個repository到registry,你需要已經命名了乙個image或者提交了乙個container到已命名的image,如image章節所見。
現在,可以推送repository到registory,指定name或者tag。
$ sudo docker push yourname
/newimage
image將被上傳,團隊或者社群可用的。
docker hub特性
進一步了解docker hub特性。
private repository
有時候,有一些image,不想公開或者與別人分享。docker hub建立自己的private repositories。
組織和團隊
private repositories乙個有用的方面,image只是在自己的組織或者團隊之間流轉。docker hub讓你建立乙個組織,這樣可以組織同事,管理private repositories。
自動化構建
automated builds 在docker hub上直接自動來自github或者bitbucker的對image的構建和更新。要這樣運作,需要給你選擇的github或者bitbucket repository提交乙個hook,當你推送乙個提交時,出發構建和更新。
設定自動化構建
1. 建立docker hub賬戶和登入。
2. 通過「link accounts」連線你的github或者bitbucket。
3. 配置automated builds
4. 選擇乙個你想要構建dockerfile的github或者bitbucket專案
5. 選擇想要構建的branch(預設是marstr branch)
6. 給automated builds乙個名字
7. 分配乙個可選擇的docker tag 來構建
8. 指定dockerfile的位置,預設是/。
一旦automated builds配置,它將自動觸發構建,幾分鐘後,將看到你新的automated builds將在docekr hub registry上了。將一直與github和bitbucket repository保持同步,直到automated builds失效。
如果想要看到automated builds的狀態,可以到docker hub上的automated builds頁,它將顯示構建狀態和構建歷史。
一旦你已經建立automated builds,你可以失效或者刪除它。你不能推送automated builds,使用docker push命令。只能通過向github或者bitbucket repository提交原始碼來管理它。
你可以建立多個automated builds為每乙個repository,配置指定的dockerfile或者git branch。
build triggers
automated builds也可以通過doker hub上的url來觸發。在需要的時候可以重構automated builds image。
webhooks
webhooks將附加在repository,當新image或者更新image被推送到repository時,促發相應事件。通過webhook,你可以指定傳送的目標url和json,當image被推送的時候。
see the docker hub documentation for
more information on webhooks
《與編碼人員一起工作》作者訪談
這本 與編碼人員一起工作 是一本指導非技術型讀者管理軟體開發團隊的實用手冊。在這本書中,patrick gleeson 解釋了軟體開發過程是如何運轉的,管理者做些什麼能使其更為高效,以及做什麼能與編碼人員建立起穩固的工作關係。infoq採訪了gleeson,請他談了談管理軟體開發的主要挑戰以及如何應...
《與編碼人員一起工作》作者訪談
這本 與編碼人員一起工作 是一本指導非技術型讀者管理軟體開發團隊的實用手冊。在這本書中,patrick gleeson 解釋了軟體開發過程是如何運轉的,管理者做些什麼能使其更為高效,以及做什麼能與編碼人員建立起穩固的工作關係。infoq採訪了gleeson,請他談了談管理軟體開發的主要挑戰以及如何應...
《與編碼人員一起工作》作者訪談
這本 與編碼人員一起工作 是一本指導非技術型讀者管理軟體開發團隊的實用手冊。在這本書中,patrick gleeson 解釋了軟體開發過程是如何運轉的,管理者做些什麼能使其更為高效,以及做什麼能與編碼人員建立起穩固的工作關係。infoq採訪了gleeson,請他談了談管理軟體開發的主要挑戰以及如何應...