确认Docker-compose命令是否可用
docker-compose --version
查看docker镜像
docker search rocketmq
下载镜像
apacherocketmq/rocketmq
docker pull apacherocketmq/rocketmq
编写yml文件
docker-compose.yml
services:
namesrv:
image: apacherocketmq/rocketmq
container_name: rmqnamesrv
ports:
- 9876:9876
volumes:
- /Users/qilueliao/Desktop/docker/RocketMQ/logs:/home/rocketmq/logs
command: sh mqnamesrv
broker:
image: apacherocketmq/rocketmq
container_name: rmqbroker
ports:
- 10909:10909
- 10911:10911
- 10912:10912
volumes:
- /Users/qilueliao/Desktop/docker/RocketMQ/broker/logs:/home/rocketmq/logs
- /Users/qilueliao/Desktop/docker/RocketMQ/broker/store:/home/rocketmq/store
- /Users/qilueliao/Desktop/docker/RocketMQ/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
broker.conf文件
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
#使用docker-compose部署后端时,同一个局域网不需要配置brockerIP1
brokerIP1=本机的ip
创建并启动容器:
在yml所在的目录中运行
docker-compose up -d
可视化客户端(默认端口号8080)
http://localhost:18080/#/