当前位置: 首页>编程语言>正文

docker运行时动态配置jar包参数 docker部署jar

背景

前几篇文章中,我们完整地将Dubbo2.7整合spring boot中,并成功运行,我们也初步了解了docker的一些最基本使用,在以后的犀利课程中,我们也会做简单的docker总结,今天我们看在dubbo重新维护以来,在服务治理的管理控制台UI也做了新一轮的优化,使用前后端分离,今天我们就使用docker来部署dubbo新的服务治理管理UI

附上我们最后部署的效果图




docker运行时动态配置jar包参数 docker部署jar,docker运行时动态配置jar包参数 docker部署jar_docker,第1张


一.下载dubbo-admin源代码

源代码地址:

https://github.com/apache/dubbo-admin


docker运行时动态配置jar包参数 docker部署jar,docker运行时动态配置jar包参数 docker部署jar_docker maven 打包jar_02,第2张


点击“Clone or download” 如下图所示


docker运行时动态配置jar包参数 docker部署jar,docker运行时动态配置jar包参数 docker部署jar_jar_03,第3张


1.2 打开IDEA,点击File->New->Project from Version Controller -> Git


docker运行时动态配置jar包参数 docker部署jar,docker运行时动态配置jar包参数 docker部署jar_docker_04,第4张


在URL中输入我们刚刚复制的dubbo-admin的地址,成功克隆之后,完整的项目结构如下


docker运行时动态配置jar包参数 docker部署jar,docker运行时动态配置jar包参数 docker部署jar_docker运行时动态配置jar包参数_05,第5张


二.自主构建镜像,使用最基本的Docker命令来运行Dubbo Admin UI

2.1 首先,我们先用docker来启动一个zookeeper的容器实例,并设置服务端口2181到宿主机的2181端口,这样宿主机的普通spring boot服务能够访问使用zookeeper的docker容器,

--name的原因,是因为docker的其他容器需要访问zookeeper 容器实例的时候,需要使用link的方式,所以需要设置容器名称,dubbo-admin UI的后台也是读取zookeeper上的数据来做服务治理的,(dubbo2.7之后,把服务的一些元信息也可以放在redis实例中,不过我们依旧可以把所有的数据放在zookeeper中,简单一点),因为我们dubbo-admin UI也是容器部署,所以需要设置zookeeper 容器实例的名字

docker run --name zookeeper -p 2181:2181 zookeeper:latest

2.2 使用maven进行dubbo admin ui的源代码打包

修改一下dubbo-admin-server中application.properties中的配置文件,修改一下zookeeper的地址,我们后面会用docker --link的方式来连接到zookeeper

admin.registry.address=zookeeper://zookeeper:2181admin.config-center=zookeeper://zookeeper:2181admin.metadata-report.address=zookeeper://zookeeper:2181

最后使用maven进行编译打包

mvn clean package


docker运行时动态配置jar包参数 docker部署jar,docker运行时动态配置jar包参数 docker部署jar_zookeeper_06,第6张


(注意,这边dubbo在根pom.xml中使用了一些前端构建插件,【frontend-maven-plugin】它可以把前端项目整体打包,避免需要构建多个镜像,统一打包)


docker运行时动态配置jar包参数 docker部署jar,docker运行时动态配置jar包参数 docker部署jar_zookeeper_07,第7张


编译打包成功之后,会在dubbo-admin-distribution下多一个target文件夹


docker运行时动态配置jar包参数 docker部署jar,docker运行时动态配置jar包参数 docker部署jar_docker maven 打包jar_08,第8张


2.3 编写Dockerfile,构建镜像,在dubbo-admin跟项目下,新建Dockerfile文件


docker运行时动态配置jar包参数 docker部署jar,docker运行时动态配置jar包参数 docker部署jar_docker_09,第9张


Dockerfile内容如下,其实还是比较简单的,基于jdk1.8构建,然后将本地的dubbo-admin-distributition项目下的maven编译打包的dubbo-admin-0.1.jar 复制到基础镜像的跟目录下,成为一个基础镜像层,重命名为dubbo-admin.jar,最后使用我们最常用的【java -jar /dubbo-admin.jar】,还是非常好理解的

FROM openjdk:8-jdk-alpineADD dubbo-admin-distribution/target/dubbo-admin-0.1.jar dubbo-admin.jarENTRYPOINT ["java

https://www.xamrdz.com/lan/5t81963088.html

相关文章: