centos docker 安装 rabbitmq

安装docker

1.更新现有的软件包

首先,确保您的系统是最新的,可以通过运行以下命令来实现:

sudo yum update -y

2.移除旧版本的Docker

如果您之前安装过Docker,可能需要先卸载旧版本。使用以下命令来卸载旧版本的Docker:

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

3.安装必要的依赖

安装一些必要的工具,如yum-utils,这将帮助我们添加Docker的官方仓库:

sudo yum install -y yum-utils

4.选择国内的源地址

阿里云

sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

清华大学源

 sudo yum-config-manager \
    --add-repo \
    https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

5.安装 Docker Engine-Community

安装最新版本的 Docker Engine-Community 和 containerd,或者转到下一步安装特定版本:

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

6. 启动Docker服务

安装完成后,启动Docker服务并设置为开机自启:

sudo systemctl start docker
sudo systemctl enable docker

安装rabbitmq

1.安装

# 拉取docker镜像
docker pull rabbitmq:management
mkdir -p /usr/local/docker/rabbitmq

docker run -id --name=rabbitmq -v /usr/local/docker/rabbitmq:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:management

在这条命令中,我们做了以下配置:

-id:以交互模式启动容器并在后台运行。

--name=rabbitmq:为容器指定一个名称。

-v /usr/local/docker/rabbitmq:/var/lib/rabbitmq:将主机目录挂载到容器内的 /var/lib/rabbitmq,用于持久化数据。

-p 15672:15672:映射 RabbitMQ 管理页面端口。

-p 5672:5672:映射 RabbitMQ 消息接收端口。

-e RABBITMQ_DEFAULT_USER=admin:设置默认用户名。

-e RABBITMQ_DEFAULT_PASS=admin:设置默认密码。

2.查看容器日志

启动容器后,可以使用以下命令查看容器日志,确保 RabbitMQ 正常启动:

docker logs -f rabbitmq

3.访问 RabbitMQ 管理界面

在浏览器中访问 http://<你的服务器地址>:15672,使用之前设置的用户名和密码(admin 和 admin)登录,即可访问 RabbitMQ 的管理界面。

4.配置说明

15672端口:RabbitMQ 的管理页面端口。

5672端口:RabbitMQ 的消息接收端口。

RABBITMQ_DEFAULT_USER 环境变量:指定 RabbitMQ 的用户名。

RABBITMQ_DEFAULT_PASS 环境变量:指定 RabbitMQ 的密码。

5.环境变量配置

RabbitMQ 容器通过指定环境变量的方式进行配置,这比修改配置文件便捷得多。以下是一些常用的环境变量:

RABBITMQ_DEFAULT_USER:默认用户名。

RABBITMQ_DEFAULT_PASS:默认密码。

RABBITMQ_ERLANG_COOKIE:Erlang 集群 cookie。

RABBITMQ_NODENAME:节点名称。

更多环境变量的详细信息可以参考 RabbitMQ 官方文档

6.持久化数据

为了确保 RabbitMQ 的数据在容器重启或删除后不会丢失,我们使用了 Docker 的卷(volume)功能。通过 -v /usr/local/docker/rabbitmq:/var/lib/rabbitmq 参数,我们将主机目录挂载到容器内的 /var/lib/rabbitmq,实现数据持久化。

7.备份与恢复

为了防止数据丢失,定期备份 RabbitMQ 的数据是非常重要的。可以使用以下命令备份数据:

docker exec rabbitmq tar czf /backup/rabbitmq_backup.tar.gz /var/lib/rabbitmq

要恢复数据,可以使用以下命令:

docker exec rabbitmq tar xzf /backup/rabbitmq_backup.tar.gz -C /

8.集群配置

RabbitMQ 支持集群配置,可以通过以下步骤实现:

启动多个 RabbitMQ 容器,并确保它们可以相互通信。

在每个节点上设置相同的 RABBITMQ_ERLANG_COOKIE。

使用 rabbitmqctl 命令将节点加入集群:

docker exec rabbitmq1 rabbitmqctl stop_app
docker exec rabbitmq1 rabbitmqctl join_cluster rabbit@rabbitmq2
docker exec rabbitmq1 rabbitmqctl start_app

9.性能优化

为了提高 RabbitMQ 的性能,可以考虑以下优化措施:

调整 vm_memory_high_watermark 参数,控制内存使用。

使用 rabbitmq_management 插件监控性能。

调整 disk_free_limit 参数,确保磁盘空间充足。

10.常见问题排查

在使用 RabbitMQ 时,可能会遇到一些常见问题。以下是一些排查方法:

无法访问管理界面:检查 15672 端口是否开放,确保防火墙未阻止该端口。

消息堆积:检查消费者是否正常工作,确保消息被及时处理。

内存不足:调整 vm_memory_high_watermark 参数,增加内存限制。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/Li_WenZhang/article/details/141181632

相关推荐
sam-12342 分钟前
k8s上部署redis高可用集群
redis·docker·k8s
Fanstay9851 小时前
在Linux中使用Nginx和Docker进行项目部署
linux·nginx·docker
简 洁 冬冬2 小时前
037 RabbitMQ集群
rabbitmq·集群
death bell3 小时前
Docker基础概念
运维·docker·容器
小码哥呀4 小时前
RabbitMQ集群搭建
分布式·rabbitmq
天幕繁星4 小时前
docker desktop es windows解决vm.max_map_count [65530] is too low 问题
windows·elasticsearch·docker·docker desktop
想学习java初学者5 小时前
Docker Compose部署Kafka(非Zookeeper)
docker·容器·kafka
尝尝你的优乐美6 小时前
Docker部署Vue项目原来可以那么好用
前端·nginx·docker
.生产的驴6 小时前
SpringBootCloud 服务注册中心Nacos对服务进行管理
java·spring boot·spring·spring cloud·tomcat·rabbitmq·java-rabbitmq
迷茫运维路7 小时前
docker搭建Jenkins2.346.3版本及常用工具集成配置(ldap、maven、ansible、npm等)
运维·docker·jenkins·cicd