RabbitMQ
docker run \
-e RABBITMQ_DEFAULT_USER=guest \
-e RABBITMQ_DEFAULT_PASS=guest \
--name mq \
--hostname localhost \
-p 15672:15672 \
-p 5672:5672 \
-d \
rabbitmq
开启管理控制台插件:
docker ps
docker exec -it 容器id bash
rabbitmq-plugins enable rabbitmq_management
访问http://localhost:15672/#/输入用户名密码guest进入管理控制台
RocketMQ
下载官方DockerFile:
git clone https://github.com/apache/rocketmq-docker.git
进入rocketmq-docker/image-build
文件夹
执行命令构建镜像:
sh build-image.sh 4.8.0 alpine
编写broker.conf
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 本机局域网IP
brokerIP1 = 192.168.1.106
编写docker compose:命名为rocketmq.yml,放在build文件夹下:
version: '3'
services:
namesrv:
image: apacherocketmq/rocketmq:4.8.0-alpine
container_name: rmqnamesrv
restart: on-failure
ports:
- 9876:9876
environment:
JAVA_OPT: -server -Xms256m -Xmx256m
command: sh mqnamesrv
broker:
image: apacherocketmq/rocketmq:4.8.0-alpine
container_name: rmqbroker
restart: on-failure
ports:
- 10909:10909
- 10911:10911
- 10912:10912
volumes:
- ./broker.conf:/home/rocketmq/rocketmq-4.8.0/conf/broker.conf
command: sh mqbroker -n namesrv:9876 -c /home/rocketmq/rocketmq-4.8.0/conf/broker.conf
depends_on:
- namesrv
rocketmq-console:
image: candice0630/rocketmq-console-ng:2.0
container_name: rmqconsole
restart: on-failure
ports:
- 19876:8080
environment:
JAVA_OPTS: -Drocketmq.config.namesrvAddr=namesrv:9876 -Drocketmq.config.isVIPChannel=false
depends_on:
- namesrv
注意volumes中broker.conf文件的配置地址