制作rocketmq-console-ng控制端镜像
https://download.csdn.net/download/wenyichuan/13262497
下载rocketmq-console-ng包
rocketmq-console-ng-1.0.0.jar
下载jdk包
jdk-8u261-linux-x64.tar.gz
编写Dockerfile
FROM centos:7
ADD jdk-8u261-linux-x64.tar.gz /usr/local
ADD rocketmq-console-ng-1.0.0.jar /home/rocketmq-console/
RUN mv /usr/local/jdk1.8.0_261 /usr/local/jdk
RUN yum install -y nfs-utils
ENV JAVA_HOME=/usr/local/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
#RUN chmod -R 777 /home/rocketmq-console/
WORKDIR /home/rocketmq-console/
ENTRYPOINT [ "java", "-jar", "rocketmq-console-ng-1.0.0.jar" ]
EXPOSE 8080
- nameserver跟broker的区别在于启动命令不同,安装包可以共用,nameserver是启动
./mqnamesrv
,broker是启动"./mqbroker", "-c", "../conf/broker.conf", "autoCreateTopicEnable=true"
,其中nameserver不会读取broker.conf- broker 通过
brokerId
区分为master和slave,0为master,1为slave- master或者slave有多个节点通过
brokerName
区分- 不同集群通过
brokerClusterName
区分- Tip: 当收到消息时,nameserver提供master地址,master进行数据操作,多个master保证高可用,master操作时会将数据同步到slave中当做一个消息副本,如果资源紧张,可以只保留master,去掉slave。
制作nameserver镜像
https://download.csdn.net/download/wenyichuan/13286311
下载rocketmq包
rocketmq.tar.gz
下载JDK
jdk-8u261-linux-x64.tar.gz
不需要修改配置文件
Dockerfile
FROM centos:7
ADD jdk-8u261-linux-x64.tar.gz /usr/local
ADD rocketmq.tar.gz /home/
RUN mv /usr/local/jdk1.8.0_261 /usr/local/jdk
RUN yum install -y nfs-utils
ENV JAVA_HOME=/usr/local/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
#RUN tar -zvxf /home/datasong/release.tar.gz
RUN chmod -R 777 /home/rocketmq/
WORKDIR /home/rocketmq/bin
ENTRYPOINT [ "./mqnamesrv" ]
EXPOSE 9876
制作Broker镜像
https://download.csdn.net/download/wenyichuan/13286311
下载rocketmq包
rocketmq.tar.gz
下载JDK
jdk-8u261-linux-x64.tar.gz
修改broker.conf中的namesrvAddr
替换为实际地址,如果有多个nameserver用;
分开
修改相关的配置文件,设置是master还是slave等
Dockerfile
FROM centos:7
ADD jdk-8u261-linux-x64.tar.gz /usr/local
ADD rocketmq.tar.gz /home/
RUN mv /usr/local/jdk1.8.0_261 /usr/local/jdk
RUN yum install -y nfs-utils
ENV JAVA_HOME=/usr/local/jdk
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
ENV PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
RUN chmod -R 777 /home/rocketmq/
WORKDIR /home/rocketmq/bin
ENTRYPOINT [ "./mqbroker", "-c", "../conf/broker.conf", "autoCreateTopicEnable=true" ]
EXPOSE 10911
补充说明