docker-compose部署rocketmq

部署rocketmq

docker-compose安装:

1.从github上下载docker-compose二进制文件安装

​ Ubuntu下载docker-compose文件

复制代码
sudo curl -L https://github.com/docker/compose/releases/download/1.27.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

​ CentOs下载docker-compose文件

复制代码
curl -L https://github.com/docker/compose/releases/download/1.27.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2.添加可执行权限
复制代码
chmod +x /usr/local/bin/docker-compose
2.测试安装结果
复制代码
docker-compose --version
3.手动下载

官网选择版本 https://github.com/docker/compose/releases 选择相应版本,下载docker-compose-Linux-x86_64到本地或者服务器中 更名为docker-compose,并移动到 /usr/local/bin 目录下

1,新建挂载目录:
复制代码
mkdir -p /my/config/rocketmq/
mkdir -p /my/rocketmq/broker-logs/
mkdir -p /my/rocketmq/broker-store/
mkdir -p /my/rocketmq/logs/
mkdir -p /my/rocketmq/logs/

2,pull相关的镜像:

复制代码
docker pull foxiswho/rocketmq:server-4.5.2
docker pull foxiswho/rocketmq:broker-4.5.2
docker pull styletang/rocketmq-console-ng

3,编写broker.conf:

复制代码
cd /my/config/rocketmq/
vim broker.conf

内容为:

复制代码
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
autoCreateTopicEnable = true
# 如果是本地程序调用云主机 mq,这个需要设置成 云主机 IP
brokerIP1=<your ip>
namesrvAddr=<your ip>:9876

4,编写docker-compose.yaml:

复制代码
cd /my/rocketmq
vim docker-compose.yaml

内容为:

复制代码
version: '3.5'
services:
  rmqnamesrv:
    image: foxiswho/rocketmq:server-4.5.2
    container_name: rmqnamesrv
    ports:
      -  9876:9876
    volumes:
      - /my/rocketmq/logs:/opt/logs
      - /my/rocketmq/store:/opt/store
    networks:
        rmq:
          aliases:
            - rmqnamesrv

  rmqbroker:
    image: foxiswho/rocketmq:broker-4.5.2
    container_name: rmqbroker
    ports:
      - 10909:10909
      - 10911:10911
    volumes:
      - /my/rocketmq/broker-logs:/root/logs/rocketmqlogs
      - /my/rocketmq/broker-store:/opt/store
      - /my/config/rocketmq/broker.conf:/etc/rocketmq/broker.conf
    environment:
        NAMESRV_ADDR: "rmqnamesrv:9876"
        JAVA_OPTS: " -Duser.home=/opt"
        JAVA_OPT_EXT: "-server -Xms128m -Xmx128m -Xmn128m"
    command: mqbroker -c /etc/rocketmq/broker.conf
    depends_on:
      - rmqnamesrv
    networks:
      rmq:
        aliases:
          - rmqbroker

  rmqconsole:
    image: styletang/rocketmq-console-ng
    container_name: rmqconsole
    ports:
      - 8087:8080
    environment:
        JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
    depends_on:
      - rmqnamesrv
    networks:
      rmq:
        aliases:
          - rmqconsole

networks:
  rmq:
    name: rmq
    driver: bridge

4,在/my/rocketmq下运行:

复制代码
docker-compose up
#关闭
docker-compose down

检查docker容器:

复制代码
docker ps
相关推荐
如果未来,1 天前
k8s介绍,及其主要组件作用
云原生·容器·kubernetes
bendan501 天前
服务通过docker部署后,调用确定相互调用的URL
运维·docker·容器
阿拉斯攀登1 天前
Kubernetes(K8s)全面解析:核心概念、架构与实践
docker·云原生·容器·kubernetes·k8s
Radan小哥1 天前
Docker学习笔记—day011
笔记·学习·docker
Zhijun.li@Studio1 天前
【Docker实战】在容器内配置 SSH 服务:安装、Vim配置与连接验证(保姆级教程)
docker·ssh·vim
了一梨1 天前
使用Docker配置适配泰山派的交叉编译环境
linux·docker
White-Legend1 天前
支持docker一键部署了
运维·docker·容器
The star"'1 天前
docker(6-10)
docker·容器·eureka
普罗米修斯Aaron_Swartz2 天前
云主机(容器)内实现本地VNC访问
网络·docker