在DockerHub发布Dubbo Admin镜像
?
Dubbo Admin是Dubbo的服務(wù)治理中心,提供了大量日常運(yùn)維所需的服務(wù)治理、配置管理等功能。
Dubbo Admin同時(shí)包含了前端代碼和后端代碼,如果用戶需要自己下載源碼并編譯打包,需要花費(fèi)一定時(shí)間。 特別是對(duì)于一些希望快速調(diào)研和試用Dubbo Admin的用戶,這種流程的體驗(yàn)并不是很好。
Docker是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包應(yīng)用以及依賴包到一個(gè)可移植的鏡像中,社區(qū)對(duì)于提供Dubbo Admin鏡像的呼聲較高。 Docker官方維護(hù)了一個(gè)公共倉(cāng)庫(kù)DockerHub,該倉(cāng)庫(kù)還有很多國(guó)內(nèi)鏡像,訪問(wèn)速度快,將Dubbo Admin鏡像發(fā)布到DockerHub是一個(gè)較好的選擇。
DockerHub賬號(hào)申請(qǐng)
要在DockerHub上發(fā)布鏡像,自然需要對(duì)應(yīng)的賬號(hào)。 而DockerHub有兩種常見(jiàn)賬號(hào),一種是面向個(gè)人的,一種是面向組織的。Apache在DockerHub上有一個(gè)組織賬號(hào)[1]。 自然我們首選是發(fā)布在組織賬號(hào)下。
DockerHub對(duì)于組織賬號(hào)的管理是基于組的,也就是一個(gè)組織賬號(hào)下有多個(gè)組,每個(gè)組有不同的成員,而一個(gè)組可以管理一個(gè)或者多個(gè)鏡像。
所以要做的第一步就是申請(qǐng)權(quán)限,這個(gè)需要提一個(gè)issue給Apache Infrastructure團(tuán)隊(duì),申請(qǐng)DockerHub的鏡像倉(cāng)庫(kù)和組權(quán)限。 目前鏡像和組已經(jīng)申請(qǐng)好了,只需要申請(qǐng)組的權(quán)限就行了,可以參考之前的申請(qǐng)[2]。
申請(qǐng)完權(quán)限以后使用Apache賬號(hào)登陸應(yīng)該就可以看到對(duì)應(yīng)的鏡像和配置選項(xiàng)了。
添加新的構(gòu)建規(guī)則
發(fā)布鏡像到DockerHub有兩種辦法,一種是本地構(gòu)建好鏡像以后遠(yuǎn)程push到DockerHub,另外一種是提供Dockerfile并借助DockerHub提供的構(gòu)建功能直接在DockerHub構(gòu)建。 后者明顯操作性和便捷性要好很多,目前Dubbo Admin的鏡像也是這樣構(gòu)建發(fā)布的。
當(dāng)Dubbo Admin有新版本發(fā)布以后,需要在項(xiàng)目的docker目錄新增一個(gè)Dockerfile文件,可以參考目前0.1.0版本的Dockerfile[3],其中的配置根據(jù)具體的版本可能有細(xì)微差別,但是大致上是一致的。
在添加了Dockerfile之后,進(jìn)入DockerHub對(duì)應(yīng)的管理界面新增Build Rules
根據(jù)實(shí)際情況填寫即可。這里需要注意兩點(diǎn):
- latest 版本要和最新的版本配置一致
- 不要勾選Autobuild
勾選Autobuild會(huì)導(dǎo)致每次git提交都會(huì)觸發(fā)自動(dòng)構(gòu)建,但是由于Dubbo Admin不提供snapshot的Docker鏡像,所以只有發(fā)布新版本的時(shí)候才需要構(gòu)建發(fā)布。
修改以后點(diǎn)Save,然后手動(dòng)觸發(fā)構(gòu)建即可。
總結(jié)
總的來(lái)說(shuō)DockerHub上發(fā)布鏡像的步驟并不復(fù)雜,如果已經(jīng)申請(qǐng)過(guò)權(quán)限的話,操作起來(lái)是很流暢的。
另外DockerHub的構(gòu)建是需要排隊(duì)的,有時(shí)候會(huì)遇到長(zhǎng)時(shí)間沒(méi)有開(kāi)始構(gòu)建的情況,需要耐心等待。
https://hub.docker.com/r/apache???
https://issues.apache.org/jira/browse/INFRA-18167???
https://github.com/apache/dubbo-admin/blob/develop/docker/0.1.0/Dockerfile???
原文:http://dubbo.apache.org/zh-cn/blog/build-new-docker-image-in-dockerhub.html
總結(jié)
以上是生活随笔為你收集整理的在DockerHub发布Dubbo Admin镜像的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: GraphQL引入依赖maven仓库配置
- 下一篇: 研究 Dubbo 网卡地址注册时的一点思