docker安装rabbitmq

本文详细介绍了在CentOS系统上安装Docker的过程,包括检查内核版本、更新yum、设置阿里云镜像源、安装Docker以及启动和验证安装。接着,文章讲解了如何拉取RabbitMQ镜像,创建挂载目录,启动并配置RabbitMQ容器,以及启用和设置RabbitMQ的可视化管理插件,最后提到了需要开放端口以允许外部访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装docker

  • Docker 要求 CentOS 系统的内核版本高于 3.10,使用以下指令查看系统内核
uname -r
  • 使用 root 权限登录 Centos。确保 yum 包更新到最新
sudo yum update
  • 卸载旧版本(如果安装过旧版本的话)
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  • 设置yum源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
  • 安装docker
sudo yum install docker-ce  #默认安装最新版
sudo yum install <FQPN>  # 指定版本例如:sudo yum install docker-ce-17.173
  • 启动Docker并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
  • 查看docker是否安装成功
docker version
  • 安装过程遇到问题:
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

执行一下指令可以执行

cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
yum update -y

安装RabbitMq

  • 查找镜像
docker search rabbitmq
  • 拉取镜像

安装name为rabbitmq的这里是直接安装最新的,如果需要安装其他版本在rabbitmq后面跟上版本号即可 ;(如:docker pull rabbitMq:3.8.3-management)

docker pull rabbitmq
  • 创建挂载目录
mkdir /usr/rabbitMQ
cd /usr/rabbitMQ
mkdir config
  • 启动创建容器,并挂载配置文件(systemctl restart docker:测试随着docker重启服务)
docker run --name RabbitMQ -p 5672:5672 -p 15672:15672 -v /usr/rabbitMQ/config/:/etc/rabbitmq/ -d --restart=always rabbitmq
docker run --name 启动后容器的名称 -p 主机端口:容器端口(5672 --client端通信端口,应用访问端口) -p 主机端口:web端容器端口(15672 – 管理界面ui端口,控制台Web端口号) -v 主机文件路径:容器内文件路径 -d(后台运行容器) --restart=always(随着docker重启服务) 镜像名称
  • 启动可视化插件

查看运行中的容器(4369 -- erlang发现端口5672 --client端通信端口,应用访问端口15672 -- 管理界面ui端口,控制台Web端口号25672 -- server间内部通信端口

docker exec -it ad60b1064cef /bin/bash  #进入RabbitMQ镜像 ad60b1064cef:容器id
rabbitmq-plugins enable rabbitmq_management  #启动可视化插件
  • 外部访问需要添加用户及权限(添加完用户端之后就可以在web端登录MQ,IP+端口15672)
 # 添加账号  rabbitmqctl add_user 账号  密码
rabbitmqctl add_user root root 
#设置权限 rabbitmqctl set_permissions -p / 账号 ".*" ".*" ".*"
rabbitmqctl set_permissions -p / root ".*" ".*" ".*"  
#设置角色rabbitmqctl set_user_tags 账号 administrator
rabbitmqctl set_user_tags root administrator 
  • 安装成功

PS:需要开放15672端口,外网才可以访问

### 如何使用 Docker 安装 RabbitMQ 的最佳实践 #### 创建挂载目录 为了确保数据持久化以及便于管理配置文件,在宿主机上创建专用的挂载目录是非常重要的。例如,可以在 Linux 系统中执行以下命令来创建并授权一个专门用于 RabbitMQ 数据存储的目录[^2]。 ```bash sudo mkdir -p /usr/local/docker/rabbitmq && sudo chmod 777 /usr/local/docker/rabbitmq ``` 此操作不仅提供了安全的数据保存路径,还允许容器内的 RabbitMQ 进程能够正常读写这些数据。 #### 部署单机版 RabbitMQ 启动 RabbitMQ 容器可以通过 `docker run` 命令完成。下面是一个典型的运行命令示例: ```bash docker run -d \ --name rabbitmq-server \ -p 5672:5672 \ -p 15672:15672 \ -v /usr/local/docker/rabbitmq/data:/var/lib/rabbitmq \ -v /usr/local/docker/rabbitmq/log:/var/log/rabbitmq \ rabbitmq:management ``` 上述命令中的参数解释如下: - `-d`: 后台模式运行容器。 - `--name rabbitmq-server`: 设置容器名称为 `rabbitmq-server`。 - `-p 5672:5672`: 将 RabbitMQ 默认消息端口映射到本地。 - `-p 15672:15672`: 映射 Web 管理界面端口至本机。 - `-v ...`: 使用之前创建的挂载目录分别绑定日志和数据卷[^1]。 #### 初始化与重置 RabbitMQ 节点 如果需要初始化或者重新配置某个 RabbitMQ 实例,则可通过进入容器内部执行相关命令实现。比如停止应用、清除状态再重启服务等操作可按如下方式处理[^3]: ```bash docker exec -it myrabbit1 bash rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl start_app exit ``` #### 构建高可用集群环境 对于生产环境中构建多节点组成的 RabbitMQ 高可用集群来说,除了单独部署多个实例外还需要让它们彼此之间形成协作关系。假设已经存在名为 `myrabbit1` 和 `myrabbit2` 的两个节点,那么新增加第三个节点 (`myrabbit3`) 加入该集群的具体方法如下所示[^4]: ```bash docker exec -it myrabbit3 bash rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster --ram rabbit@rabbit1 rabbitmqctl start_app exit ``` 以上步骤展示了从基础安装到高级集群搭建整个过程中涉及的关键环节和技术要点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值