前言
上一篇我通过docker安装到mac上的rocketmq,三个容器都启动成功,却无法通过
ip:port
进行访问,考虑到我的Mac版本是M1的原因,这次我们通过官网的项目重新编译来解决这个问题
步骤一
git clone https://github.com/apache/rocketmq-docker.git
步骤二
cd image-build
sh build-image.sh RMQ-VERSION BASE-IMAGE
--------------------------------------
我使用的是:sh build-image.sh 4.8.0 alpine
成功之后可以使用docker images
查看到我们的镜像
image-20210620155147426.png
步骤三
**接下来我们编译 rocketmq-console-ng
**镜像
拉取代码 git clone https://github.com/apache/rocketmq-externals.git
切换到rocketmq-console
目录执行 mvn clean package -Dmaven.test.skip=true
(ps:这一步想简单的同学直接使用IDEA操作也可以)
**执行完成后把target中的jar包到rocketmq-externals-master/rocketmq-console/src/main/docker
**目录下
cd /xxx/rocketmq-console
mvn clean package -Dmaven.test.skip=true
cp target/rocketmq-console-ng-2.0.0.jar src/main/docker/
docker build -t rocketmq-console-ng:2.0 .
步骤四
创建broker.conf文件、其中/Users/jarvan/work/jarvan/rocketmq/rocketmq/conf/broker.conf
是我的broker.conf的配置文件、需要替换为你自己的
version: '3'
services:
namesrv:
image: apacherocketmq/rocketmq:4.8.0-alpine
container_name: rmqnamesrv
ports:
- 9876:9876
command: sh mqnamesrv
broker:
image: apacherocketmq/rocketmq:4.8.0-alpine
container_name: rmqbroker
ports:
- 10909:10909
- 10911:10911
- 10912:10912
volumes:
- /Users/jarvan/work/jarvan/rocketmq/rocketmq/conf/broker.conf:/home/rocketmq/rocketmq-4.8.0/conf/broker.conf
command: sh mqbroker -n namesrv:9876 -c /home/rocketmq/rocketmq-4.8.0/conf/broker.conf
depends_on:
- namesrv
mqconsole:
image: candice0630/rocketmq-console-ng:2.0
container_name: rmqconsole
ports:
- 8181:8080
environment:
JAVA_OPTS: -Drocketmq.config.namesrvAddr=namesrv:9876 -Drocketmq.config.isVIPChannel=false
depends_on:
- namesrv
步骤五
执行最后一步docker-compose -f rocketmq.yml up -d
打开控制台查看
一切正常之后,即可使用 ip:port
访问RocketMQ-Console了, 页面如下