【部署】【二】制作 RocketMQ Console 控制台 Docker 镜像

流过昼夜 提交于 2019-12-07 13:32:44

查看 RocketMQ 系列文章目录

环境准备和最终目标

  • 准备一:Linux 主机,笔者用的是阿里云 ECS,预装 Centos7.4 Docker18.03.1-ce
  • 准备二:基础 java 8 Docker 镜像
  • 准备三:启动 RocketMQ Dorker 容器,参考 制作 RocketMQ 的 Docker 镜像
  • 准备四:源码为 spring boot 项目,本机需预装 java maven``Git 环境
  • 目标一:通过浏览器查看控制台

下载源码并编译( 本地 )

下载地址

apache/rocketmq-externals
rocketmq-console即为 RocketMQ 的控制台项目

修改配置文件

将源码application.properties替换为application.yml

├── 项目根目录
│   ├── src
│   │   ├── main
│   │   │   ├── resources
│   │   │   │   ├── application.yml

application.yml

spring:
    application:
        name: rocketmq-console
    http:
        encoding:
            charset: UTF-8
            enabled: true
            force: true
server:
    port: 8080
logging:
    config: classpath:logback.xml
rocketmq:
    config:
        namesrvAddr: ${NAMESRV_ADDR}
        isVIPChannel: false
        dataPath: /tmp/rocketmq-console/data
        enableDashBoardCollect: true
编译

在项目根目录下运行得到 jar 包

mvn clean package -Dmaven.test.skip=true
├── 项目根目录
│   ├── target
│   │   ├── rocketmq-console-ng-1.0.0.jar

rocketmq-console-ng-1.0.0.jar 改名rocketmq-console-1.0.0.jar 上传 Linux 主机

准备文件( Linux 主机 )

├── console
│   ├── rocketmq-console-ng-1.0.0.jar
│   ├── Dockerfile

console/Dockerfile

#
# Program:
#     Make onesoso/rocketmq-console docker image
#
# History:
#     2019/01/23    v1.0
#

FROM onesoso/java:8

MAINTAINER Zhaofeng.L<8362549@qq.com>

VOLUME /tmp

ADD rocketmq-console-1.0.0.jar app.jar

RUN sh -c 'touch /app.jar'

ENV JAVA_OPTS ""

ENV NAMESRV_ADDR ""

EXPOSE 8080

ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -jar /app.jar" ]

生成 Docker 镜像

docker build -t onesoso/rocketmq-console:1.0 .

启动容器

docker run \
--name console \
--network rocket_mq \
-p 8080:8080 \
-v /root/logs/rocketmq-console:/root/logs \
-v /tmp/rocketmq-console:/tmp \
-e "NAMESRV_ADDR=namesrv:9876" \
-e "JAVA_OPTS=-Xms512m -Xmx512m -Xmn256m" \
-d onesoso/rocketmq-console:1.0

测试通过浏览器查看控制台

浏览器访问 http://xxx.xxx.xxx.xxx:8080

主页
rocketmq-console
集群
在这里插入图片描述

能显示集群下的一个 Broker ,说明运行成功

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!