【Docker】之安装 RabbitMQ

拉取镜像

# (镜像未配有控制台)
docker pull rabbitmq:3.9.16
# (镜像配有控制台)
docker pull rabbitmq:3.9.16-management

  注意此处需要安装management的版本才有界面,其他tag的版本是没有管理界面的

创建并启动RabbitMQ容器

mkdir -p /root/.docker/voldata/rabbitmq/{data,etc,log}
chmod 777 -R rabbitmq

docker cp -a docker cp -a 容器ID:/var/lib/rabbitmq /home/rabbitmq/lib/
docker cp -a 容器ID:/etc/rabbitmq /home/rabbitmq/etc/
docker cp -a 容器ID:/var/log/rabbitmq /home/rabbitmq/log/
docker run -d --name rabbitmq \
-p 5672:5672 -p 15672:15672 \
--restart=always \
-v `pwd`/rabbitmq/data:/var/lib/rabbitmq \
-v `pwd`/rabbitmq/log:/var/log/rabbitmq \
-v `pwd`/rabbitmq/etc:/etc/rabbitmq \
--hostname myRabbit \
-e RABBITMQ_DEFAULT_VHOST=my_vhost  \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.9.16-management
# 启动rabbitmq_management, rabbitmq 为容器的名称,使用id也可以
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
  • -d 后台运行容器;
  • --name 指定容器名;
  • -p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号)
  • -v 映射目录或文件;
  • --hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名)
  • -e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名,RABBITMQ_DEFAULT_USER:默认的用户名,RABBITMQ_DEFAULT_PASS:默认用户名的密码)

开启防火墙15672端口

firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload 

访问web管理端

http://Server-IP:15672