美工兼顧SEO,為企業電子商務營銷助力!
Docker如何多步構建生成dubbo-admin鏡像詳解
一佰互聯網站開發設計(www.karaokedaily.com) 發布日期 2019-04-23 09:20:21 瀏覽數: 213
前言
Dubbo是Alibaba開源的分布式服務框架,它最大的特點是按照分層的方式來架構,使用這種方式可以使各個層之間解耦合(或者最大限度地松耦合)。從服務模型的角度來看,Dubbo采用的是一種非常簡單的模型,要么是提供方提供服務,要么是消費方消費服務,所以基于這一點可以抽象出服務提供方(Provider)和服務消費方(Consumer)兩個角色。關于注冊中心、協議支持、服務監控等內容。
Docker是支持多步構建的,對于需要編譯源代碼的那種構建,多步構建一方面可以獲得更小的鏡像,另外一方面也不需要手動清理源代碼和別的文件了。
有時候本地調試的時候需要起一個dubbo-admin看一下,但是每次都是啟動一個tomcat,然后拷貝war,久了也有點麻煩。想從Docker鏡像啟動一個,但是官方沒有提供。網上有不少個人構建的鏡像,但是版本有些舊了。索性自己搞一下放在Docker hub。
手動操作比較直接,克隆代碼庫,然后maven打包出war包,放tomcat運行即可。
多步構建的Dockerfile如下:
FROM maven:3-jdk-8RUN git clone --depth 1 https://github.com/apache/incubator-dubbo-ops.git /sourceWORKDIR /sourceRUN mvn package -f dubbo-admin FROM tomcat:8.0-jre8RUN rm -rf /usr/local/tomcat/webapps/COPY --from=0 /source/dubbo-admin/target/*.war /usr/local/tomcat/webapps/ROOT.warEXPOSE 8080
運行的時候提供一下注冊中心的環境變量(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
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對網頁設計的支持。
上一篇: 如何讓Nginx快速支持TLS1.3協議詳解 | 下一篇:Linux系統中sudo命令的十個技巧總結