Docker创建Rocketmq-4.8.0镜像

本文详细介绍了如何在Ubuntu Linux环境下,不使用docker-compose,而是单独为Rocketmq的namesrv和broker创建Docker镜像及容器。在创建namesrv镜像时,由于默认的启动脚本问题,需要修改Dockerfile来避免Java版本判断错误。同时,为确保broker能正确注册到namesrv,使用了network创建bridge。broker的镜像和容器配置涉及到数据和日志路径的设置。最后,还涵盖了如何创建和启动rocketmq-console控制台的Docker镜像和容器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

rocketmq包含namesrv和broker两部分,这里不使用docker-compose编排,而是将这两部分分别创建容器.

一. namesrv

1. Dockerfile编写

FROM java:8

ENV ROCKETMQ_VERSION 4.8.0

ENV NAMESRV_HOME /home/rocketmq/namesrv-${ROCKETMQ_VERSION}

ENV JAVA_OPT "-Duser.home=/home/rocketmq"

WORKDIR ${NAMESRV_HOME}

RUN mkdir -p /home/rocketmq/logs /home/rocketmq/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 \
    && mv rocketmq-all-${ROCKETMQ_VERSION}-bin-release/* ./ \
    && rm -rf rocketmq-all-${ROCKETMQ_VERSION}-bin-release \
    && cd ${NAMESRV_HOME}/bin \
    && sed -i '70s/^/#/' runserver.sh \
    && sed -i '74,77s/^/#/' runserver.sh \
    && sed -i 's#-Xms[0-9]\+[gm]#-Xms512m#' runserver.sh \
    && sed -i 's#-Xmx[0-9]\+[gm]#-Xmx512m#' runserver.sh \
    && sed -i 's#-Xmn[0-9]\+[gm]#-Xmn128m#' runserver.sh \
    && sed -i 's#-XX:MetaspaceSize=[0-9]\+[gm]#-XX:MetaspaceSize=128m#' runserver.sh \
    && sed -i 's#-XX:MaxMetaspaceSize=[0-9]\+[gm]#-XX:MaxMetaspaceSi
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值