Docker如何多步構(gòu)建生成dubbo-admin鏡像詳解
前言
Dubbo是Alibaba開源的分布式服務(wù)框架,它最大的特點(diǎn)是按照分層的方式來架構(gòu),使用這種方式可以使各個(gè)層之間解耦合(或者最大限度地松耦合)。從服務(wù)模型的角度來看,Dubbo采用的是一種非常簡(jiǎn)單的模型,要么是提供方提供服務(wù),要么是消費(fèi)方消費(fèi)服務(wù),所以基于這一點(diǎn)可以抽象出服務(wù)提供方(Provider)和服務(wù)消費(fèi)方(Consumer)兩個(gè)角色。關(guān)于注冊(cè)中心、協(xié)議支持、服務(wù)監(jiān)控等內(nèi)容。
Docker是支持多步構(gòu)建的,對(duì)于需要編譯源代碼的那種構(gòu)建,多步構(gòu)建一方面可以獲得更小的鏡像,另外一方面也不需要手動(dòng)清理源代碼和別的文件了。
有時(shí)候本地調(diào)試的時(shí)候需要起一個(gè)dubbo-admin看一下,但是每次都是啟動(dòng)一個(gè)tomcat,然后拷貝war,久了也有點(diǎn)麻煩。想從Docker鏡像啟動(dòng)一個(gè),但是官方?jīng)]有提供。網(wǎng)上有不少個(gè)人構(gòu)建的鏡像,但是版本有些舊了。索性自己搞一下放在Docker hub。
手動(dòng)操作比較直接,克隆代碼庫(kù),然后maven打包出war包,放tomcat運(yùn)行即可。
多步構(gòu)建的Dockerfile如下:
FROM maven:3-jdk-8 RUN git clone --depth 1 https://github.com/apache/incubator-dubbo-ops.git /source WORKDIR /source RUN mvn package -f dubbo-admin FROM tomcat:8.0-jre8 RUN rm -rf /usr/local/tomcat/webapps/ COPY --from=0 /source/dubbo-admin/target/*.war /usr/local/tomcat/webapps/ROOT.war EXPOSE 8080
運(yùn)行的時(shí)候提供一下注冊(cè)中心的環(huán)境變量(dubbo.registry.address)即可。
如果是docker-compose中的寫法如下:
version: '3' services: zookeeper: image: zookeeper admin: image: htynkn/dubbo-admin depends_on: - zookeeper ports: - 8080 environment: - dubbo.registry.address=zookeeper://zookeeper:2181
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Docker安裝mysql主從復(fù)制的實(shí)現(xiàn)步驟
MySQL主從復(fù)制是指數(shù)據(jù)可以從一個(gè)MySQL數(shù)據(jù)庫(kù)服務(wù)器主節(jié)點(diǎn)復(fù)制到一個(gè)或多個(gè)從節(jié)點(diǎn),本文主要介紹了Docker安裝mysql主從復(fù)制的實(shí)現(xiàn)步驟,感興趣的可以了解一下2024-03-03
使用Nexus創(chuàng)建Docker倉(cāng)庫(kù)的方法步驟
這篇文章主要介紹了使用Nexus創(chuàng)建Docker倉(cāng)庫(kù)的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Docker容器內(nèi)應(yīng)用服務(wù)自啟動(dòng)的方法示例
這篇文章主要介紹了Docker容器內(nèi)應(yīng)用服務(wù)自啟動(dòng)的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09
使用docker部署influxdb與 mongo的常用命令
這篇文章主要介紹了使用docker部署influxdb與 mongo的常用命令,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05
Docker部署Microsoft Sql Server詳細(xì)步驟
大家好,本篇文章主要講的是Docker部署Microsoft Sql Server詳細(xì)步驟,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
docker安裝部署 onlyoffice的詳細(xì)過程
本文給大家分享docker安裝部署 onlyoffice的詳細(xì)過程,通過圖文并茂實(shí)例相結(jié)合給大家分享安裝Docker Desktop及如何進(jìn)入BIOS設(shè)置CPU的虛擬化,感興趣的朋友一起看看吧2021-06-06
Docker實(shí)踐之python應(yīng)用容器化
這篇文章主要介紹了Docker實(shí)踐之python應(yīng)用容器化,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06
關(guān)于docker部署的jenkins跑git上的程序的問題
這篇文章主要介紹了docker部署的jenkins跑git上的程序的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
Idea通過docker compose?發(fā)布項(xiàng)目的過程
這篇文章主要介紹了Idea結(jié)合docker-compose發(fā)布項(xiàng)目,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08

