一、编辑docker-compose脚本
在安装目录创建 docker-compose.yml 文件,贴入如下脚本。
services:
namesrv:
image: apacherocketmq/rocketmq:4.6.0
container_name: rmqnamesrv
ports:
- 9876:9876
volumes:
- /Users/hdfs/local_env/docker/rockmq/namesrv/logs:/home/rocketmq/logs
command: sh mqnamesrv
broker:
image: apacherocketmq/rocketmq:4.6.0
container_name: rmqbroker
ports:
- 10909:10909
- 10911:10911
- 10912:10912
volumes:
- /Users/hdfs/local_env/docker/rockmq/broker/logs:/home/rocketmq/logs
- /Users/hdfs/local_env/docker/rockmq/broker/store:/home/rocketmq/store
- /Users/hdfs/local_env/docker/rockmq/broker/conf/broker.conf:/home/rocketmq/rocketmq-4.6.0/conf/broker.conf
environment:
NAMESRV_ADDR: "namesrv:9876"
JAVA_OPTS: " -Duser.home=/opt"
JAVA_OPT_EXT: "-server -Xms128m -Xmx128m -Xmn128m"
command: sh mqbroker -n namesrv:9876 -c ../conf/broker.conf
depends_on:
- namesrv
rmqconsole:
image: styletang/rocketmq-console-ng
container_name: rmqconsole
ports:
- 18080:8080
environment:
JAVA_OPTS: "-Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
depends_on:
- namesrv
# zk服务
zk_server:
image: zookeeper:3.4.9
container_name: zk_server
hostname: zk_host
ports:
- 2181:2181
# redis服务
myredis:
container_name: myredis
image: redis:4.0
ports:
- 6379:6379
privileged: true
command: redis-server /etc/redis/redis.conf --appendonly yes
volumes:
- /Users/hdfs/local_env/docker/redis/data:/data
- /Users/hdfs/local_env/docker/redis/conf/redis.conf:/etc/redis/redis.conf二 创建对应文件目录
按照你的安装目录
创建 rockmq/namesrv/logs 目录(空目录),比如目录:
/Users/hdfs/local_env/docker/rockmq/namesrv/logs
创建 rockmq/broker/logs 目录(空目录)、
创建rockmq/broker/store目录(空目录)、
创建rockmq/broker/conf目录、
其配置文件broker.conf内容如下:
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1=192.xx.xx.xx (填写自己的IP地址)
创建redis/data目录(空目录)、
创建redis/conf目录、
其配置文件redis.conf内容如下:
# 开启保护
protected-mode yes
# 开启远程连接
# bind 127.0.0.1
requirepass (你的redis密码 )
port 6379
timeout 0
# 900s内至少一次写操作则执行bgsave进行RDB持久化
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /data
appendonly yes
appendfsync everysec
最后、启动脚本
docker-compose up -d --build
Zookeeper在mac中使用时,dubbo注册非常慢的问题解决、
这个时候可以排查自己的hostname 是否配置了本地域名,
使用 vim /etc/hosts 查看,我自己的 hostname 如:

可得知hostname是:MacBook-Pro.local
因此配置到对应的 /etc/hosts 内,并重启对应的服务即可,正常启动服务!

重启服务即可解决。