本文操作环境提示:
Docker 操作在 Linux(Centos7)下进行
其余操作均在 Win10 下进行
Dubbo-Admin 需要连接 Zookeeper 使用 ,一般来讲能用到 Dubbo-Admin 的应该具备 Zookeeper 使用技能,所以本文并未讲解 Zookeeper 的使用
下载 dubbo-admin
下载 dubbo-admin 项目源码,没安装 git 的可以直接进项目网址下载zip压缩包
1
| git clone https://github.com/apache/dubbo-admin.git
|
修改 dubbo-admin 配置
修改 dubbo-admin-server/src/main/resources/application.properties
配置文件,修改配置文件是为了设置一些默认值,因为我们是要做成 docker 镜像,其实不修改就保持默认也可以,运行容器的时候可以加上环境变量参数即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| # Dubbo 使用ZooKeeper做为注册中心
# 单机配置地址:zookeeper://127.0.0.1:2181
# 集群配置地址:zookeeper://192.168.1.1:2181?backup=192.168.1.2:2181,192.168.1.3:2181
# docker容器配置地址:zookeeper://容器名:2181
# 注册中心地址
admin.registry.address=zookeeper://127.0.0.1:2181
# 配置中心地址
admin.config-center=zookeeper://127.0.0.1:2181
# 元数据中心地址
admin.metadata-report.address=zookeeper://127.0.0.1:2181
# nacos 配置,将参数添加到 url 中
#username=nacos&password=nacos
#admin.registry.address=nacos://127.0.0.1:8848?group=DEFAULT_GROUP&namespace=public
#admin.config-center=nacos://127.0.0.1:8848?group=dubbo
#admin.metadata-report.address=nacos://127.0.0.1:8848?group=dubbo
# Dubbo Admin 管理员配置
admin.root.user.name=root
admin.root.user.password=root
# 会话超时时间,默认为一小时
admin.check.sessionTimeoutMilli=3600000
# apollo 配置
#admin.config-center = apollo://localhost:8070?token=e16e5cd903fd0c97a116c873b448544b9d086de9&app.id=test&env=dev&cluster=default&namespace=dubbo
# 压缩设置
server.compression.enabled=true
server.compression.mime-types=text/css,text/javascript,application/javascript
server.compression.min-response-size=10240
|
准备编译环境
下载安装node
傻瓜式安装完成后打开 cmd 输入 node -v
成功返回版本号即可
下载安装maven
解压缩(路径不要带中文),配置环境变量
打开我的电脑-属性-高级-高级系统设置-系统变量
①新增 MAVEN_HOME
属性值:填写你 maven 的根目录
②修改原来 Path
属性值:新增一个 %MAVEN_HOME%\bin
打开 cmd 输入 mvn -version
成功返回版本号即可
开始编译
cmd 进入 dubbo-admin 项目根目录(如果下载的是压缩包则是叫 dubbo-admin-develop),执行命令:
1
| mvn clean package -Dmaven.test.skip=true
|
等待···
出现下面信息则编译完成
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| [INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for dubbo-admin 0.3.0-SNAPSHOT:
[INFO]
[INFO] dubbo-admin ........................................ SUCCESS [ 2.758 s]
[INFO] dubbo-admin-ui ..................................... SUCCESS [ 40.687 s]
[INFO] dubbo-admin-server ................................. SUCCESS [ 11.841 s]
[INFO] dubbo-admin-distribution ........................... SUCCESS [ 1.657 s]
[INFO] dubbo-admin-test ................................... SUCCESS [ 6.883 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:04 min
[INFO] Finished at: 2021-06-15T13:46:36+08:00
[INFO] ------------------------------------------------------------------------
|
进入 dubbo-admin-server/target
/ 目录找到 jar 包
dubbo-admin-server-0.3.0-SNAPSHOT.jar
进入 cmd 运行:
1
| java -jar dubbo-admin-server-0.3.0-SNAPSHOT.jar
|
打开浏览器,访问 http://127.0.0.1:8080/ 地址
测试一下各项功能是否正常
没问题后,将 jar 包上传至 Centos7
之后均在 Centos7 下操作
安装 Docker
使用官方安装脚本自动安装
1
| curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun
|
也可以使用国内 daocloud 一键安装命令:
1
| curl -sSL https://get.daocloud.io/docker | sh
|
如果有需要也可以把 Docker Compose 安装一下
Docker Compose 安装
运行以下命令以下载 Docker Compose 的当前稳定版本:
1
| sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
|
要安装其他版本的 Compose,请替换 1.24.1。
将可执行权限应用于二进制文件:
1
| sudo chmod +x /usr/local/bin/docker-compose
|
创建软链:
1
| sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
|
测试是否安装成功:
1
| docker-compose --version
|
编写 Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| #基于镜像
FROM openjdk:8-jdk-alpine
#作者信息
MAINTAINER Ray <pulnd@live.com>
#环境变量
ENV ADMIN.REGISTRY.ADDRESS zookeeper://127.0.0.1:2181
ENV ADMIN.CONFIG-CENTER zookeeper://127.0.0.1:2181
ENV ADMIN.METADATA-REPORT.ADDRESS zookeeper://127.0.0.1:2181
ENV ADMIN.ROOT.USER.NAME root
ENV ADMIN.ROOT.USER.PASSWORD root
#挂载点
VOLUME /tmp
#端口
EXPOSE 8080
#添加jar包
ADD dubbo-admin-server-0.3.0-SNAPSHOT.jar app.jar
#运行指令
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]
|
将之前的 jar 包和编写的 Dockerfile 放到同一文件夹下
生成镜像
进入 jar 包和 Dockerfile 文件目录,运行命令
1
| docker build --rm -t dubbo-admin:0.3.0 .
|
发布到 docker hub
查看 images
给 image 打上标签
1
2
| #docker tag image:tag dockerID/imageName:version
docker tag dubbo-admin:0.3.0 pulnd/dubbo-admin:latest
|
登录 docker hub 账号,没有先注册
上传 image 到 docker hub
1
| docker push pulnd/dubbo-admin:latest
|
拉取镜像运行容器
1
2
3
4
5
6
7
8
| docker run -d \
-p 8080:8080 \
-e ADMIN.REGISTRY.ADDRESS=zookeeper://127.0.0.1:2181 \
-e ADMIN.CONFIG-CENTER=zookeeper://127.0.0.1:2181 \
-e ADMIN.METADATA-REPORT.ADDRESS=zookeeper://127.0.0.1:2181 \
-e ADMIN.ROOT.USER.NAME=root \
-e ADMIN.ROOT.USER.PASSWORD=root \
pulnd/dubbo-admin:0.3.0
|
完成,开始使用
参考文章