Dubbo Admin是Dubbo的服務治理中心,提供了大量日常運維所需的服務治理、配置管理等功能。
Dubbo Admin同時包含了前端代碼和後端代碼,如果使用者需要自己下載下傳源碼并編譯打包,需要花費一定時間。 特别是對于一些希望快速調研和試用Dubbo Admin的使用者,這種流程的體驗并不是很好。
Docker是一個開源的應用容器引擎,讓開發者可以打包應用以及依賴包到一個可移植的鏡像中,社群對于提供Dubbo Admin鏡像的呼聲較高。 Docker官方維護了一個公共倉庫DockerHub,該倉庫還有很多國内鏡像,通路速度快,将Dubbo Admin鏡像釋出到DockerHub是一個較好的選擇。
要在DockerHub上釋出鏡像,自然需要對應的賬号。 而DockerHub有兩種常見賬号,一種是面向個人的,一種是面向組織的。Apache在DockerHub上有一個組織賬号[1]。 自然我們首選是釋出在組織賬号下。
DockerHub對于組織賬号的管理是基于組的,也就是一個組織賬号下有多個組,每個組有不同的成員,而一個組可以管理一個或者多個鏡像。
是以要做的第一步就是申請權限,這個需要提一個issue給Apache Infrastructure團隊,申請DockerHub的鏡像倉庫群組權限。 目前鏡像群組已經申請好了,隻需要申請組的權限就行了,可以參考之前的申請[2]。
申請完權限以後使用Apache賬号登陸應該就可以看到對應的鏡像和配置選項了。
釋出鏡像到DockerHub有兩種辦法,一種是本地建構好鏡像以後遠端push到DockerHub,另外一種是提供Dockerfile并借助DockerHub提供的建構功能直接在DockerHub建構。 後者明顯操作性和便捷性要好很多,目前Dubbo Admin的鏡像也是這樣建構釋出的。
當Dubbo Admin有新版本釋出以後,需要在項目的docker目錄新增一個Dockerfile檔案,可以參考目前0.1.0版本的Dockerfile[3],其中的配置根據具體的版本可能有細微差别,但是大緻上是一緻的。
在添加了Dockerfile之後,進入DockerHub對應的管理界面新增Build Rules

根據實際情況填寫即可。這裡需要注意兩點:
latest 版本要和最新的版本配置一緻
不要勾選Autobuild
勾選Autobuild會導緻每次git送出都會觸發自動建構,但是由于Dubbo Admin不提供snapshot的Docker鏡像,是以隻有釋出新版本的時候才需要建構釋出。
修改以後點Save,然後手動觸發建構即可。
總的來說DockerHub上釋出鏡像的步驟并不複雜,如果已經申請過權限的話,操作起來是很流暢的。
另外DockerHub的建構是需要排隊的,有時候會遇到長時間沒有開始建構的情況,需要耐心等待。