zoukankan      html  css  js  c++  java
  • dubbo学习实践(1)之管理控制台Dubbo-admin部署

    1.Docker拉取现有镜像,构建Dubbo-admin

    • 拉取镜像,这里使用chenchuxin/dubbo-admin

        docker pull chenchuxin/dubbo-admin
      
    • 注册中心使用Consul:

        docker run -d -p 8380:8080 --name dubboAdmin -e dubbo.registry.address=consul://192.168.231.132:8500 -e dubbo.admin.root.password=root chenchuxin/dubbo-admin
      
      发现此镜像比较老,不支持Consul
    • 注册中心使用Zookeeper:

        docker run -d -p 8280:8080 --name dubboAdmin01 -e dubbo.registry.address=zookeeper://192.168.231.132:2181 -v /home/xujk/Work/Docker/Dubbo:/dubbo-admin -e dubbo.admin.root.password=root chenchuxin/dubbo-admin
      
      image
      使用用户名和密码root登录
      image

    2. 拉取最新Dubbo-admin代码,构建最新控制台

    • 访问github:https://github.com/apache/dubbo-admin, 下载一份源码

    • 用idea打开项目

      image

    • 查看dubbo-admin-ui文档

      image

      说明:项目基于vuetify,标准的前后端分离项目

    • Dubbo-admin-ui前期准备工作

      A.安装nodejs,去nodejs官网下载安装

      image
      安装完之后,输入命令查看是否安装成功

        Node -v
        Npm -v
      

      image

      B.安装nrm包管理工具
        Npm install -g nrm
      

      显示所有源:

        Nrm ls
      

      新增源,添加淘宝镜像地址

        Nrm add Taobao https://registry.npm.taobao.org
      

      切换npm包源

        Nrm use Taobao
      

      image

      C.安装vue和vue-cli
        npm install -g @vue
        npm install --global @vue-cli
      
      D.输入命令,运行admin-ui
        Npm install
        Npm run dev  开发模式运行
      

      image

      输入地址,访问
      image

    3. Dubbo-admin-server编译运行

    • 参考,修改配置文件,修改zookeeper注册中心的地址,此版本也可以修改为consul,nanos,redis等注册中心

      image

      image

    • 修改完之后,构建,运行

      image

      使用maven命令,运行server端
        Mvn clean package
        Mvn --projects dubbo-admin-server spring-boot:run
      

      image

      image

      image

      通过访问8080端口,访问dubbo-admin

      image

    4. Dubbo-admin打包成docker镜像,便于部署

    • 参考dubbo-admin 0.2.0的dockerfile文件

      image

      说明:把这些圈着的地方,改为develop版本的(dubbo-admin-develop)

    • 创建dockerfile文件,如下图:

      image

      Dockerfile内容:
        FROM maven:3-openjdk-8
        RUN mkdir /source && wget https://github.com/apache/dubbo-admin/archive/develop.zip && unzip -q develop.zip -d /source
        WORKDIR /source/dubbo-admin-develop
        RUN mvn --batch-mode clean package -Dmaven.test.skip=true
        
        FROM openjdk:8-jre
        LABEL maintainer="dev@dubbo.apache.org"
        COPY --from=0 /source/dubbo-admin-develop/dubbo-admin-distribution/target/dubbo-admin-0.2.0-SNAPSHOT.jar /app.jar
        ENTRYPOINT ["java","-XX:+UnlockExperimentalVMOptions","-XX:+UseCGroupMemoryLimitForHeap","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
        
        EXPOSE 8080
      
      对应的修改部分,参考一下dubbo-admin的项目目录

      image

      创建镜像文件
        docker build -t dubbo-admin:0.3.0 . 
      
      创建容器:
        docker run -d --network=mynetwork --ip 172.18.0.21 -p 8380:8080 --name dubboAdmin02 -e admin.registry.address=zookeeper://192.168.231.132:2181 -e admin.config-center=zookeeper://192.168.231.132:2181 -e admin.metadata-report.address=zookeeper://192.168.231.132:2181 -v /home/xujk/Work/Docker/Dubbo:/dubbo-admin -e admin.root.user.password=root dubbo-admin:0.3.0
      

      注意:通过-e把环境变量填进去,填全3个,否则容器会报错,有的会连不上zookeeper,所有的环境变量都可对应配置文件的属性就行配置

      通过端口8380访问dubbo-admin

      image

      image

    5. 第二种构建docker-admin镜像的方法

    • 把咱们本地构建好的jar包直接拷贝到dockerfile相同的目录下

      image
    • 修改dockerfile文件内容

      image
      内容如下:
        FROM openjdk:8-jre
        LABEL maintainer="dev@dubbo.apache.org"
        COPY dubbo-admin-0.2.0-SNAPSHOT.jar /app.jar
        ENTRYPOINT ["java","-XX:+UnlockExperimentalVMOptions","-XX:+UseCGroupMemoryLimitForHeap","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
        EXPOSE 8080
      
    • 直接执行命令构建image

        docker build -t dubbo-admin:0.3.1 .
      
      image
      说明:构建image就省去了下载代码,构建代码的过程
    • 输入命令,创建dubbo-admin容器

      由于我构建的jar包,注册地址(zookeeper:zookeeper://192.168.231.132:2181)已经修改了,所以我们这里可以不用加环境变量构建
        docker run -d --network=mynetwork --ip 172.18.0.22 -p 8480:8080 --name dubboAdmin03 -v /home/xujk/Work/Docker/Dubbo:/dubbo-admin -e admin.root.user.password=root dubbo-admin:0.3.1
      
      通过访问地址,发现dubbo-admin也正常运行了
      image
      我们修改下注册地址,改为consul(consul://192.168.231.132:8500),创建dubbo-admin容器:
        docker run -d --network=mynetwork --ip 172.18.0.22 -p 8480:8080 --name dubboAdmin03 -e admin.registry.address=consul://192.168.231.132:8500 -e admin.config-center=consul://192.168.231.132:8500 -e admin.metadata-report.address=consul://192.168.231.132:8500 -v /home/xujk/Work/Docker/Dubbo:/dubbo-admin -e admin.root.user.password=root dubbo-admin:0.3.1
      
      image
      同样用consul作为服务注册中心,也是成功的
  • 相关阅读:
    微信公众号项目部署
    数据库存入年月日时分秒类型时间问题
    路径问题
    常用DOS命令
    解决Maven下载慢的问题
    害人不浅的数学翻译
    Webpack4 踩坑记
    React 踩坑记
    what's the problem of Object oriented programming
    为什么JVM调优?
  • 原文地址:https://www.cnblogs.com/kunwn/p/14605512.html
Copyright © 2011-2022 走看看