docker rabbitMq 安装

一、docker 安装rabbit并且挂载数据目录

1.拉取镜像

docker pull rabbitmq:3.7.7

2.创建挂载目录(同一台机器)

    mkdir /mnt/xxx/data

    mkdir /mnt/xxx/logs  

3. 容器启动rabbitMq

docker run -d --name test_rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v /mnt/xxxx/data:/var/lib/rabbitmq -v /mnt/xxx/logs:/var/log/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin 2888deb59dfc

下载web管理器

docker exec -it test_rabbitmq3.7.7 rabbitmq-plugins enable rabbitmq_management

注意: rabbitMq的目录  ,数据库/var/lib/rabbitmq config mnesia schema      日志/var/log/rabbitmq/log crash.log

/mnt/dockerdata/oms-rabbitmq/data 为实际存储挂载目录

对配置文件也进行挂载的话 需要声明启动rabbitmq-management  不然web访问不了(由于启动时自动生成配置 内容有web的配置信息)

如果实例多个mq:只需更改端口、名称 (例如更改端口:5673:5672 -p 15673:15672)

4.配置权限问题

Caused by: com.rabbitmq.client.ShutdownSignalException: connection error; protocol method:_czczcz_的博客-CSDN博客

5.启动实例需启动防火墙

systemctl start firewalld.service

6. 启动实例报错

com.github.dockerjava.api.exception.InternalServerErrorException: {"message":"driver failed programming external connectivity on endpoint hopeful_newton (125a1608e6258e00c570a7dba54f7c34b6be0b6cfa4870f13514f9af00d19462):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 34180 -j DNAT --to-destination 172.17.0.3:8000 ! -i docker0: iptables: No chain/target/match by that name.\n (exit status 1))

防火墙重启或关闭后,需要重新启动docker:systemctl restart docker,否则会报以上错误

7. 启动多个实例 例子

docker run -d --name test_rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v /mnt/dockerdata/oms-rabbitmq/data:/var/lib/rabbitmq -v /mnt/dockerdata/oms-rabbitmq/logs:/var/log/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin 2888deb59dfc

docker run -d --name dev_rabbitmq3.7.7 -p 5673:5672 -p 15673:15672 -v /mnt/dockerdata/oms-rabbitmq/data:/var/lib/rabbitmq -v /mnt/dockerdata/oms-rabbitmq/logs:/var/log/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin 2888deb59dfc

8. 程序连不上rabbitmq问题

报错信息:
      method<connection.close>(reply-code=530, reply-text=NOT_ALLOWED - vhost /my_vhost     not found, class-id=10, method-id=40)

   由于默认的虚拟主机是 my_Vhost,程序连不上虚拟主机,需要创建 virtual host  (/)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一种容器化平台,可以轻松地部署和管理应用程序。RabbitMQ是一个开源的消息队列系统,用于实现应用程序之间的异步通信。下面是安装和使用DockerRabbitMQ的基本步骤: 1. 首先,确保已经安装DockerDocker Compose。可以在官方网站上找到适合你操作系统的安装指南。 2. 创建一个新的目录,并在其中创建一个名为`docker-compose.yml`的文件。 3. 在`docker-compose.yml`文件中,添加以下内容: ``` version: '3' services: rabbitmq: image: rabbitmq:management ports: - 5672:5672 - 15672:15672 volumes: - ./data:/var/lib/rabbitmq environment: RABBITMQ_DEFAULT_USER: your_username RABBITMQ_DEFAULT_PASS: your_password ``` 这个配置文件使用了RabbitMQ的官方镜像,并启用了RabbitMQ管理插件。它还将容器内部的5672和15672端口映射到主机上,用于AMQP协议和管理界面的访问。 4. 将`your_username`和`your_password`替换为你自己的用户名和密码。 5. 在终端中,导航到包含`docker-compose.yml`文件的目录,并执行以下命令启动RabbitMQ容器: ``` docker-compose up -d ``` 这将会下载RabbitMQ镜像并启动容器。使用`-d`参数可以在后台运行容器。 6. 等待一段时间,直到容器启动完毕。你可以使用以下命令检查容器的状态: ``` docker-compose ps ``` 如果一切顺利,你应该看到一个名为`rabbitmq`的容器正在运行。 7. 现在,你可以通过访问`http://localhost:15672`来打开RabbitMQ管理界面。使用之前设置的用户名和密码进行登录。 从这里开始,你可以创建队列、交换机和绑定,并发送和接收消息。具体的RabbitMQ使用方法可以参考官方文档。 希望这个简单的指南对你有帮助!如果你有任何疑问,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值