RocketMQ学习(一):broker与namesrv镜像

    RocketMQ的部署主要是broker和namesrv,broker是MQ的消息中转角色,负责存储消息,转发消息,一般称为Server。在 JMS 规范中称为 Provider。namesrv是一个几乎无状态节点,接受broker的Topic信息注册,为 producer 和 consumer 提供路由信息。。

1、namesrv镜像

    1.1、创建Dockerfile文件

#当前用户
who

xusg pts/0 2018-02-02 17:33 (192.168.56.1)

#当前目录
pwd

/home/xusg/docker/rocketmq/namesrv

#创建Dockerfile文件
touch Dockerfile

#Dockerfile文件内容
#RocketMQ以来Java环境,因此基于Java镜像进行构建
#修改启动参数-Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m为-Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=64m -XX:MaxMetaspaceSize=128m,虚拟机内存较小
#9876:消息监听端口

FROM java:8

ENV ROCKETMQ_VERSION 4.2.0

ENV ROCKETMQ_HOME  /opt/rocketmq-${ROCKETMQ_VERSION}
ENV JAVA_OPT " -Duser.home=/opt"

WORKDIR  ${ROCKETMQ_HOME}

RUN mkdir -p /opt/logs /opt/store

RUN curl https://dist.apache.org/repos/dist/release/rocketmq/${ROCKETMQ_VERSION}/rocketmq-all-${ROCKETMQ_VERSION}-bin-release.zip -o rocketmq.zip \
          && unzip rocketmq.zip \
          && rm rocketmq.zip \
          && cd ${ROCKETMQ_HOME}/bin \
          && sed -i 's#-Xms[0-9]\+[gm]#-Xms256m#' runserver.sh \
          && sed -i 's#-Xmx[0-9]\+[gm]#-Xmx256m#' runserver.sh \
          && sed -i 's#-Xmn[0-9]\+[gm]#-Xmn128m#' runserver.sh \
          && sed -i 's#-XX:MetaspaceSize=[0-9]\+[gm]#-XX:MetaspaceSize=64m#' runserver.sh \
          && sed -i 's#-XX:MaxMetaspaceSize=[0-9]\+[gm]#-XX:MaxMetaspaceSize=128m#' runserver.sh \
          && chmod +x ./mqnamesrv

CMD cd ${ROCKETMQ_HOME}/bin && sh mqnamesrv

EXPOSE 9876

VOLUME ["/opt/logs", "/opt/store"]

    1.2、构建namesrv镜像

#进入Dockerfile文件所在目录
cd /home/xusg/docker/rocketmq/namesrv

#构建镜像
sudo docker build -t study/rocketmq-namesrv:4.2.0 .

2.3、查看namesrv镜像

#查看docker镜像列表
sudo docker images

REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
study/rocketmq-namesrv   4.2.0               b2b9f7c76c31        58 seconds ago      653 MB
java                     8                   d23bdf5b1b1b        12 months ago       643 MB


#查看study/rocketmq-namesrv镜像信息
sudo docker inspect study/rocketmq-namesrv:4.2.0

2、broker镜像

     2.1、创建Dockerfile文件

#当前用户
who

xusg pts/0 2018-02-02 17:33 (192.168.56.1)

#当前目录
pwd

/home/xusg/docker/rocketmq/broker

#创建Dockerfile文件
touch Dockerfile

#Dockerfile文件内容
#RocketMQ以来Java环境,因此基于Java镜像进行构建
#修改启动参数-Xms8g -Xmx8g -Xmn4g为-Xms256m -Xmx256m -Xmn128m,虚拟机内存较小
#10911:消息监听端口
#10912:主从同步端口

FROM java:8

ENV ROCKETMQ_VERSION 4.2.0

ENV ROCKETMQ_HOME  /opt/rocketmq-${ROCKETMQ_VERSION}
ENV JAVA_OPT " -Duser.home=/opt"

WORKDIR  ${ROCKETMQ_HOME}

RUN mkdir -p /opt/logs /opt/store

RUN curl https://dist.apache.org/repos/dist/release/rocketmq/${ROCKETMQ_VERSION}/rocketmq-all-${ROCKETMQ_VERSION}-bin-release.zip -o rocketmq.zip \
          && unzip rocketmq.zip \
          && rm rocketmq.zip \
          && cd ${ROCKETMQ_HOME}/bin \
          && sed -i 's#-Xms[0-9]\+[gm]#-Xms256m#' runbroker.sh \
          && sed -i 's#-Xmx[0-9]\+[gm]#-Xmx256m#' runbroker.sh \
          && sed -i 's#-Xmn[0-9]\+[gm]#-Xmn128m#' runbroker.sh \
          && chmod +x ./mqbroker

EXPOSE 10909 10911 10912

VOLUME ["/opt/logs", "/opt/store"]

CMD cd ${ROCKETMQ_HOME}/bin && sh mqbroker

    2.2、构建broker镜像

#进入Dockerfile文件所在目录
cd /home/xusg/docker/rocketmq/broker

#构建镜像
sudo docker build -t study/rocketmq-broker:4.2.0 .

    2.3、查看broker镜像

#查看docker镜像列表
sudo docker images

REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
study/rocketmq-namesrv  4.2.0               b2b9f7c76c31        58 seconds ago      653 MB
study/rocketmq-broker   4.2.0               fcd6975639b1        36 seconds ago      653 MB
java                    8                   d23bdf5b1b1b        12 months ago       643 MB

#查看study/rocketmq-broker镜像信息
sudo docker inspect study/rocketmq-broker:4.2.0

 

转载于:https://my.oschina.net/u/2299686/blog/1618531

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值