制作RockerMQ集群镜像

制作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


  1. nameserver跟broker的区别在于启动命令不同,安装包可以共用,nameserver是启动./mqnamesrv,broker是启动"./mqbroker", "-c", "../conf/broker.conf", "autoCreateTopicEnable=true",其中nameserver不会读取broker.conf
  2. broker 通过brokerId区分为master和slave,0为master,1为slave
  3. master或者slave有多个节点通过brokerName区分
  4. 不同集群通过brokerClusterName区分
  5. 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


补充说明
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/wenyichuan/article/details/110541706