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作为服务注册中心,也是成功的
  • 相关阅读:
    Java学习二十九天
    Java学习二十八天
    47. Permutations II 全排列可重复版本
    46. Permutations 全排列,无重复
    subset ii 子集 有重复元素
    339. Nested List Weight Sum 339.嵌套列表权重总和
    251. Flatten 2D Vector 平铺二维矩阵
    217. Contains Duplicate数组重复元素
    209. Minimum Size Subarray Sum 结果大于等于目标的最小长度数组
    438. Find All Anagrams in a String 查找字符串中的所有Anagrams
  • 原文地址:https://www.cnblogs.com/kunwn/p/14605512.html
Copyright © 2011-2022 走看看