配置 Docker 容器的 RabbitMQ

针对 rabbitmq 进行配置:

创建步骤如下。

1. 启动容器

docker run -d --hostname my-rabbit --name rabbitmq -p 8080:15672 \
 rabbitmq:3.7-management-alpine

2. 进入容器

docker exec -it rabbitmq /bin/sh

3. 启用插件

umask 0022; rabbitmq-plugins enable --offline \
 rabbitmq_auth_backend_http rabbitmq_auth_backend_cache rabbitmq_web_stomp

特别注意这里的 umask 0022;,只有这样配置,镜像才能读取插件配置,才能启动成功。

输出内容:

The following plugins have been configured:
  rabbitmq_auth_backend_cache
  rabbitmq_auth_backend_http
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_stomp
  rabbitmq_web_dispatch
  rabbitmq_web_stomp
Applying plugin configuration to rabbit@my-rabbit...
The following plugins have been enabled:
  rabbitmq_auth_backend_cache
  rabbitmq_auth_backend_http
  rabbitmq_stomp
  rabbitmq_web_stomp

set 7 plugins.
Offline change; changes will take effect at broker restart.

4. 配置 /etc/rabbitmq/rabbitmq.conf

在配置中追加:

auth_backends.1 = cache

# auth_backends.1 = http
auth_backends.2 = internal

auth_cache.cached_backend = http

auth_http.http_method   = post

auth_http.user_path = http://rabbitmq-auth:8080/auth/user
auth_http.vhost_path = http://rabbitmq-auth:8080/auth/vhost
auth_http.resource_path = http://rabbitmq-auth:8080/auth/resource
auth_http.topic_path = http://rabbitmq-auth:8080/auth/topic

auth_cache.cache_ttl = 60000

特别注意,后续需要提供 rabbitmq-auth 服务进行认证。

5. 退出容器提交

退出容器后,使用容器当前状态提交为新的镜像,参考命令如下:

docker commit rabbitmq 镜像名:版本

后续使用镜像时,就可以直接使用插件提供的功能了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

isea533

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值