查询镜像
docker search rocketmq name description stars official automated foxiswho/rocketmq rocketmq 69 rocketmqinc/rocketmq image repository for apache rocketmq 54 styletang/rocketmq-console-ng rocketmq-console-ng 37 apacherocketmq/rocketmq docker image for apache rocketmq 21 apache/rocketmq
拉取镜像
docker pull foxiswho/rocketmq:server #mq-server ... docker pull foxiswho/rocketmq:broker #mq-broker ... docker pull styletang/rocketmq-console-ng #客户端 ...
创建namesrv数据存储路径
mkdir -p /var/local/docker/rocketmq/namesrv/store /var/log/docker/rocketmq/namesrv
构建namesrv容器
docker run -d \ --restart=always \ --name rmqnamesrv \ -p 9876:9876 \ -v /var/log/docker/rocketmq/namesrv:/var/log \ -v /var/local/docker/rocketmq/namesrv/store:/var/store \ -e "max_possible_heap=100000000" \ foxiswho/rocketmq \ sh mqnamesrv
创建broker数据存储路径
mkdir -p /var/local/docker/rocketmq/broker/store /var/log/docker/rocketmq/broker
创建broker配置文件
mkdir -p /etc/docker/rocketmq/conf touch broker.conf vi broker.conf
broker.conf 内容如下:
vim /docker/rocketmq/conf/broker.conf # 所属集群名称,如果节点较多可以配置多个 brokerclustername = defaultcluster #broker名称,master和slave使用相同的名称,表明他们的主从关系 brokername = broker-a #0表示master,大于0表示不同的slave brokerid = 0 #表示几点做消息删除动作,默认是凌晨4点 deletewhen = 04 #在磁盘上保留消息的时长,单位是小时 filereservedtime = 48 #有三个值:sync_master,async_master,slave;同步和异步表示master和slave之间同步数据的机制; brokerrole = async_master #刷盘策略,取值为:async_flush,sync_flush表示同步刷盘和异步刷盘;sync_flush消息写入磁盘后才返回成功状态,async_flush不需要; flushdisktype = async_flush # 设置broker节点所在服务器的ip地址 brokerip1 = 192.168.1.1 # 注意:改成你的ip地址
构建broker容器
docker run -d \ --restart=always \ --name rmqbroker \ --link rmqnamesrv:namesrv \ -p 10911:10911 \ -p 10909:10909 \ -v /var/local/docker/rocketmq/broker/store:/var/store \ -v /var/log/docker/rocketmq/broker:/var/logs \ -v /etc/docker/rocketmq/conf/broker.conf:/etc/rocketmq/conf/broker.conf \ -e "namesrv_addr=namesrv:9876" \ -e "max_possible_heap=200000000" \ foxiswho/rocketmq:broker \ sh mqbroker -c /etc/rocketmq/conf/broker.conf
构建rocketmq-console-ng
docker run -d \ --name rmqconsole \ -p 8180:8080 \ --restart=always \ --link rmqserver:namesrv \ -e "java_opts=-drocketmq.namesrv.addr=namesrv:9876 -dcom.rocketmq.sendmessagewithvipchannel=false" \ -t styletang/rocketmq-console-ng
到此这篇关于使用docker容器部署rocketmq单机的文章就介绍到这了,更多相关docker部署rocketmq内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。