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

相关推荐
一只淡水鱼6622 分钟前
【RabbitMQ】在spring boot中实现消息可靠性
spring boot·rabbitmq·java-rabbitmq
大得3691 小时前
docker,centos容器开机启动程序
docker·容器·centos
白云千载尽2 小时前
docker入门篇
运维·docker·容器
最懒的菜鸟2 小时前
CentOS 系统安装 docker 以及常用插件
docker·eureka·centos
王军新2 小时前
Docker基础知识介绍
运维·docker·容器
啊sen丶2 小时前
消息队列的特性与使用场景:Kafka、ActiveMQ、RabbitMQ与RocketMQ的深度剖析
分布式·kafka·消息队列·rabbitmq·rocketmq·activemq
reddingtons10 小时前
在 Ubuntu 下通过 Docker 部署 Nginx 服务器
服务器·ubuntu·docker
大得36910 小时前
宝塔docker切换存储目录
java·docker·eureka
1 Byte11 小时前
Centos7使用docker搭建redis集群
redis·docker·容器·redis集群搭建