m1系列芯片aarch64架构使用docker-compose安装rocketmq5.0以及运维控制台

之前看到 DockerHub 上有大佬制作了 m1 芯片, aarch64架构的 rocketmq 镜像, 所以就尝试的安装了下, 亲测可用: 

一. docker-compose.yml 文件命令

volumes 挂载目录需要换成自己的目录

注意 depends_on 标签, broker 和 console 的 启动要晚于 namesrv, 因为 broker 需要注册到 namesrv

version: "3.0"
services:
  namesrv:
    image: candice0630/rocketmq:5.0.0-alpine
    container_name: rocketmqNameServer
    volumes:
      - /Users/canxiusi/Documents/docker/rocketmq/nameServer/logs:/home/rocketmq/logs/rocketmqlogs
      - /Users/canxiusi/Documents/docker/rocketmq/broker/conf/broker.conf:/home/rocketmq/rocketmq-5.0.0/conf/broker.conf
    environment:
      - MEM_XMS=500m
      - MEM_XMX=500m
      - MEM_XMN=256m
    command:
      sh mqnamesrv
    ports:
      - "9876:9876"

  rocketmqBroker:
    image: candice0630/rocketmq:5.0.0-alpine
    container_name: rocketmqBroker
    volumes:
      - /Users/canxiusi/Documents/docker/rocketmq/broker/logs:/home/rocketmq/logs/rocketmqlogs
      - /Users/canxiusi/Documents/docker/rocketmq/broker/store:/home/rocketmq/store
      - /Users/canxiusi/Documents/docker/rocketmq/broker/conf/broker.conf:/home/rocketmq/rocketmq-5.0.0/conf/broker.conf
    depends_on:
      - namesrv
    environment:
      - MEM_XMS=500m
      - MEM_XMX=500m
      - MEM_XMN=256m
      - NAMESRV_ADDR:namesrv:9876
      - BROKER_ID=0
      - BROKER_ROLE=ASYNC_MASTER
      - FLUSH_DISK_TYPE=SYNC_FLUSH
    command:
      sh mqbroker -n namesrv:9876  -c /home/rocketmq/rocketmq-5.0.0/conf/broker.conf
    ports:
      - "10909:10909"
      - "10911:10911"
      - "10912:10912"

  rocketmqConsole:
    image: candice0630/rocketmq-console-ng:2.0
    container_name: rocketmqConsole
    depends_on:
      - namesrv
    environment:
      JAVA_OPTS: "-Drocketmq.namesrv.addr=namesrv:9876 -Drocketmq.config.isVIPChannel=false -Dcom.rocketmq.sendMessageWithVIPChannel=false"
    ports:
      - 19876:8080

二. 容器运行情况

之后可以使用 docker ps | grep rocketmq 查看容器运行情况

然后使用 http://localhost:19876/#/ 可以登录到 rocketmq 运维控制台, 可以看到 broker, topic, 等信息

之后我们使用 docker network ls, 以及 docker inspect + network id 命令可以查看到 rocketmq 的网络组, 可以看到网络模式 Driver 是 bridge 桥接, 以及下面的3个rocketmq容器所在的ip

如果你想修改默认网关和网络模式, 可以在 docker-compose 文件中编写 network 标签

三. 容器网络

我们可以使用  docker compose  exec rocketmqConsole /bin/bash 该命令进入到一个正在运行的容器内部, 现在我们进入到 rocketmq 运维控制台这个容器中, 使用 ping 命令测试网络情况

可以发现, 在同一个网络组下面的容器, 可以直接使用 ping + 容器名的方式测试网络互联情况

ping rocketmqBroker, 会自动识别到 172.18.0.4 这个ip 

同样的, 如果使用  docker compose  exec rocketmqBroke /bin/bash 进入到 broker 这个容器中, 也可以 ping 通 rocketmqConsole

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker-compose是一个用于定义和运行多个Docker容器的工具。而aarch64则是指ARM 64位架构的处理器。 Docker-compose支持在不同的架构上运行,并可以方便地定义和管理多个容器的配置。使用Docker-compose可以通过一个配置文件来定义和管理多个容器,这个配置文件可以包含了容器的镜像、网络、卷等信息,并可以通过一个命令来启动、停止或管理这些容器。 对于aarch64架构来说,可以使用Docker-compose来管理在这种处理器架构上的容器。在aarch64的处理器上运行Docker-compose和在其他架构上运行并没有太大的区别,只需要确保在安装DockerDocker-compose时选择适配aarch64的版本即可。 使用Docker-compose管理aarch64上的容器可以带来很多好处。首先,Docker-compose可以方便地定义和管理多个容器,使得在aarch64上运行复杂的容器应用更加简单。其次,Docker-compose可以提供容器之间的网络互联和共享卷,使得容器之间的通信和数据交互更加方便。最后,Docker-compose可以通过类似于版本控制的方式来管理容器的配置,方便部署和更新容器应用。 总之,Docker-compose可以很好地支持aarch64架构上的容器管理。它提供了简单、便捷的方式来定义、管理和部署多个容器,使得在aarch64上运行容器应用变得更加方便和可行。无论是开发人员还是系统管理员都可以通过Docker-compose轻松地管理aarch64上的容器

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值