與Docker Hub一起工作

2021-06-28 21:26:10 字數 3270 閱讀 1986

下一步,將學習如何使用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,請他談了談管理軟體開發的主要挑戰以及如何應...