
king019/rocketmq本镜像为Apache RocketMQ的Docker化部署方案,支持x86与arm64架构,旨在简化RocketMQ消息队列的部署流程。通过预配置的环境与启动脚本,用户可快速搭建RocketMQ服务及管理控制台,适用于开发、测试及小型生产环境的消息队列需求。
console标签镜像,支持RocketMQ管理控制台部署,可视化管理消息队列。适用于无需持久化数据的临时环境:
bashdocker run --name rocketmq -h rocketmq -d --privileged \ -e TZ='Asia/Shanghai' \ -e JAVA_OPT_EXT='-Xms128m -Xmx128m -Xmn64m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=32m' \ -p ***:*** -p 9876:9876 \ king019/rocketmq
通过阿里云容器仓库拉取镜像,提升国内访问速度,支持数据持久化:
bashdocker run --name rocketmq -h rocketmq -d --privileged \ -v ~/soft/docker/data/maven/m2/repository:/root/.m2/repository \ # Maven仓库缓存(可选) -v ~/soft/docker/data/rocketmq/logs:/root/logs \ # 日志持久化 -v ~/soft/docker/data/rocketmq/store:/root/store \ # 存储数据持久化 -v ~/soft/docker/data/rocketmq:/root/soft \ # 配置文件持久化 -e TZ='Asia/Shanghai' \ -e JAVA_OPT_EXT='-Xms128m -Xmx128m -Xmn64m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=32m' \ -p ***:*** -p 9876:9876 \ --security-opt seccomp:unconfined \ # 关闭seccomp限制,确保容器功能正常 registry.cn-beijing.aliyuncs.com/king019/rocketmq
从Docker Hub拉取镜像,适用于国际网络环境:
bashdocker run --name rocketmq -h rocketmq -d --privileged \ -v ~/soft/docker/data/maven/m2/repository:/root/.m2/repository \ -v ~/soft/docker/data/rocketmq/logs:/root/logs \ -v ~/soft/docker/data/rocketmq/store:/root/store \ -v ~/soft/docker/data/rocketmq:/root/soft \ -e TZ='Asia/Shanghai' \ -e JAVA_OPT_EXT='-Xms128m -Xmx128m -Xmn64m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=32m' \ -p ***:*** -p 9876:9876 \ --security-opt seccomp:unconfined \ king019/rocketmq
RocketMQ控制台(rocketmq-console)提供Web界面,支持消息查询、集群监控等功能,需与RocketMQ服务联动部署。
bashdocker run --name rocketmqng -h rocketmqng -d --privileged \ -v ~/soft/docker/data/maven/m2/repository:/root/.m2/repository \ -v ~/soft/docker/data/rocketmqng:/root/soft \ --link rocketmq:rocketmq \ # 关联RocketMQ服务容器,实现网络互通 -e TZ='Asia/Shanghai' \ -e JAVA_OPTS='-Xms32m -Xmx32m -Xmn16m -Drocketmq.namesrv.addr=rocketmq:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false' \ -p 9996:8080 \ # 控制台Web端口映射(宿主机9996 -> 容器8080) --security-opt seccomp:unconfined \ registry.cn-beijing.aliyuncs.com/king019/rocketmq:console
bashdocker run --name rocketmqng -h rocketmqng -d --privileged \ -v ~/soft/docker/data/maven/m2/repository:/root/.m2/repository \ -v ~/soft/docker/data/rocketmqng:/root/soft \ --link rocketmq:rocketmq \ -e TZ='Asia/Shanghai' \ -e JAVA_OPTS='-Xms32m -Xmx32m -Xmn16m -Drocketmq.namesrv.addr=rocketmq:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false' \ -p 9996:8080 \ --security-opt seccomp:unconfined \ king019/rocketmq:console
| 环境变量名 | 作用 | 示例值 |
|---|---|---|
TZ | 设置容器时区 | Asia/Shanghai(中国标准时间) |
JAVA_OPT_EXT | RocketMQ服务JVM参数 | -Xms128m -Xmx128m -Xmn64m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=32m(内存配置) |
JAVA_OPTS | 控制台JVM参数 | -Xms32m -Xmx32m -Xmn16m(控制台内存配置) |
rocketmq.namesrv.addr | 控制台连接的NameServer地址 | rocketmq:9876(通过--link关联时,使用容器名+端口) |
com.rocketmq.sendMessageWithVIPChannel | 禁用VIP通道 | false(避免部分环境下VIP通道连接失败) |
| 端口 | 用途 | 说明 |
|---|---|---|
| 9876 | NameServer通信端口 | RocketMQ服务核心端口,客户端需连接此端口 |
| *** | Broker通信端口 | 消息生产/消费的主要端口 |
| 8080 | 控制台Web端口 | 容器内控制台默认端口,需映射至宿主机 |
| 宿主机路径 | 容器路径 | 用途 |
|---|---|---|
~/soft/docker/data/rocketmq/logs | /root/logs | RocketMQ服务日志持久化 |
~/soft/docker/data/rocketmq/store | /root/store | RocketMQ消息存储数据持久化 |
~/soft/docker/data/rocketmq | /root/soft | RocketMQ配置文件持久化 |
~/soft/docker/data/rocketmqng | /root/soft | 控制台配置文件持久化 |
~/soft/docker/data/maven/m2/repository | /root/.m2/repository | Maven仓库缓存(加速依赖加载) |
为简化服务与控制台的联动部署,可使用docker-compose.yml配置:
yamlversion: '3' services: rocketmq: image: registry.cn-beijing.aliyuncs.com/king019/rocketmq # 或 king019/rocketmq container_name: rocketmq hostname: rocketmq privileged: true security_opt: - seccomp:unconfined environment: - TZ=Asia/Shanghai - JAVA_OPT_EXT=-Xms128m -Xmx128m -Xmn64m -XX:MetaspaceSize=32m -XX:MaxMetaspaceSize=32m ports: - "9876:9876" - "***:***" volumes: - ~/soft/docker/data/rocketmq/logs:/root/logs - ~/soft/docker/data/rocketmq/store:/root/store - ~/soft/docker/data/rocketmq:/root/soft - ~/soft/docker/data/maven/m2/repository:/root/.m2/repository rocketmq-console: image: registry.cn-beijing.aliyuncs.com/king019/rocketmq:console # 或 king019/rocketmq:console container_name: rocketmqng hostname: rocketmqng privileged: true security_opt: - seccomp:unconfined environment: - TZ=Asia/Shanghai - JAVA_OPTS=-Xms32m -Xmx32m -Xmn16m -Drocketmq.namesrv.addr=rocketmq:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false ports: - "9996:8080" volumes: - ~/soft/docker/data/rocketmqng:/root/soft - ~/soft/docker/data/maven/m2/repository:/root/.m2/repository depends_on: - rocketmq # 确保RocketMQ服务先启动
启动命令:docker-compose up -d
--privileged和--security-opt seccomp:unconfined提升容器权限,确保底层资源访问(如文件系统、进程管理)正常,生产环境需评估安全风险。JAVA_OPT_EXT、JAVA_OPTS)需根据宿主机资源调整,避免内存溢出或资源浪费。--link仅适用于单机部署,跨主机部署时需通过DNS或IP直接指定rocketmq.namesrv.addr。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务