环境准备和最终目标
- 准备一:Linux 主机,笔者用的是阿里云 ECS,预装 Centos7.4 Docker18.03.1-ce
- 准备二:基础 java 8 Docker 镜像
- 准备三:启动 RocketMQ Dorker 容器,
参考
制作 RocketMQ 的 Docker 镜像 - 准备四:源码为
spring boot
项目,本机需预装java
maven``Git
环境 - 目标一:通过浏览器查看控制台
下载源码并编译( 本地 )
下载地址
apache/rocketmq-externalsrocketmq-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
主页
集群
能显示集群下的一个 Broker ,说明运行成功
来源:CSDN
作者:望山跑死码
链接:https://blog.csdn.net/weixin_37946205/article/details/86627508