目录

编译 Dubbo-Admin 并制作成 Docker 镜像

本文操作环境提示:

Docker 操作在 Linux(Centos7)下进行

其余操作均在 Win10 下进行

Dubbo-Admin 需要连接 Zookeeper 使用 ,一般来讲能用到 Dubbo-Admin 的应该具备 Zookeeper 使用技能,所以本文并未讲解 Zookeeper 的使用

下载 dubbo-admin

下载 dubbo-admin 项目源码1,没安装 git2 的可以直接进项目网址下载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

准备编译环境

  1. 下载安装node3

    傻瓜式安装完成后打开 cmd 输入 node -v 成功返回版本号即可

  2. 下载安装maven4

    解压缩(路径不要带中文),配置环境变量

    打开我的电脑-属性-高级-高级系统设置-系统变量

    ①新增 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 下操作

安装 Docker5

使用官方安装脚本自动安装

1
curl -fsSL https://get.docker.com | bash -s docker --mirror aliyun

也可以使用国内 daocloud 一键安装命令:

1
curl -sSL https://get.daocloud.io/docker | sh

如果有需要也可以把 Docker Compose6 安装一下

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

编写 Dockerfile7

 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 hub7

  1. 查看 images

    1
    
    docker image
    
  2. 给 image 打上标签

    1
    2
    
    #docker tag image:tag  dockerID/imageName:version
    docker tag dubbo-admin:0.3.0 pulnd/dubbo-admin:latest
    
  3. 登录 docker hub 账号8,没有先注册

    1
    
    docker login
    
  4. 上传 image 到 docker hub

    1
    
    docker push pulnd/dubbo-admin:latest
    

拉取镜像运行容器9

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

完成,开始使用

参考文章


  1. dubbo-admin 项目 ↩︎

  2. git 官网 ↩︎

  3. node 官网 ↩︎

  4. maven 官网 ↩︎

  5. CentOS Docker 安装 ↩︎

  6. Docker Compose 安装 ↩︎

  7. Docker-compose一键部署zk集群+dubbo-admin ↩︎

  8. Docker Hub 官网 ↩︎

  9. pulnd/dubbo-admin ↩︎