Linux 环境使用 Dockfile 制作 RocketMQ Docker 镜像

Linux 环境使用 Dockfile 制作 RocketMQ Docker 镜像。基于 centos7,制作并上传到 docker hub。RocketMQ 版本 4.7.0。

1. 概述

  • 演示环境: centos7;
  • 从 apache 官网下载安装 RocketMQ 4.7.0;

2. 下载 apache 官网 RocketMQ

wget https://archive.apache.org/dist/rocketmq/4.7.0/rocketmq-all-4.7.0-bin-release.zip

unzip rocketmq-all-4.7.0-bin-release.zip

3. 生成 Dockerfile 文件

vi Dockerfile

文件内容:

FROM aaronst21/centos7_with_jdk8:1.8.0_251
MAINTAINER aaron aaronst21.163.com

# 设置环境变量
ENV ROCKETMQ_VERSION 4.7.0
ENV ROCKETMQ_HOME /usr/local/rocketmq-${ROCKETMQ_VERSION}

# 设置临时变量
ARG user=rocketmq
ARG usergroup=rocketmq

# 将解压后的 RocketMQ 包拷贝到 docker 容器中
COPY rocketmq-all-${ROCKETMQ_VERSION}-bin-release ${ROCKETMQ_HOME}

# 创建用户和组
RUN groupadd ${usergroup} &&\
    useradd -g ${usergroup} ${user}
    
# 修改目录权限
RUN chown -R ${usergroup}:${user} ${ROCKETMQ_HOME} &&\
    chown -R ${usergroup}:${user} ${JAVA_HOME} &&\
    su ${user}

EXPOSE 9876 10909 10911

4. 使用 Dockerfile 创建镜像

docker build -t rocketmq:4.7.0 .

5. 为本地镜像打 tag

docker tag rocketmq:4.7.0 aaronst21/rocketmq:4.7.0 

aaronst21 是 docker 用户 id。

6. 上传到 docker hub

# 登录 docker,需要输入用户名和密码
docker login

# 推送到 docker 仓库
docker push aaronst21/rocketmq:4.7.0
  • 如果没有账户,到 docker 官网注册,注册地址:https://www.docker.com;
  • push 上传耗时较长,请耐心等待;
  • 上传完毕后,可以登录 docker hub 查询:https://hub.docker.com/repositories

7. 验证创建结果

# 下载制作的镜像
docker pull aaronst21/rocketmq:4.7.0

docker run -i -t rocketmq:4.7.0 bash

# 进入 docker container,以下命令在 container 中执行
# 启动 Namesrv
nohup sh bin/mqnamesrv &

# 启动 Broker
nohup sh bin/mqbroker -n localhost:9876 &

# 验证启动是否成功,如果能够查到 BrokerStartup 和 NamesrvStartup,说明启动成功
jps

# 关闭 Namesrv
sh ./bin/mqshutdown namesrv

# 关闭 Broker
sh ./bin/mqshutdown broker

# 退出 container
exit

本机内存小,RocketMQ 默认 jvm 内存较大,如果启动 Namesrv 和 Broker 失败,可以修改如下配置:

vi bin/runserver.sh 

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

vi bin/runbroker.sh 

JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn128m"

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值