docker-compose一键安装rocketmq、zk、redis服务

一、编辑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 内,并重启对应的服务即可,正常启动服务!

重启服务即可解决。


版权声明:本文为doinbb原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。