docker 启动 rabbitmq 异常 Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only

docker 启动 rabbitmq 异常 Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only

问题

docker 启动rabbitmq 报错,Cookie file /var/lib/rabbitmq/.erlang.cookie must be accessible by owner only

原因

可以看到官网的说明 https://hub.docker.com/_/rabbitmq/

这将启动一个 RabbitMQ 容器,侦听默认端口 5672。如果您花一分钟时间,然后执行docker logs some-rabbit,您将在输出中看到类似于以下内容的块:

=INFO REPORT==== 6-Jul-2015::20:47:02 ===
node           : rabbit@my-rabbit
home dir       : /var/lib/rabbitmq
config file(s) : /etc/rabbitmq/rabbitmq.config
cookie hash    : UoNOcDhfxW9uoZ92wh6BjA==
log            : tty
sasl log       : tty
database dir   : /var/lib/rabbitmq/mnesia/rabbit@my-rabbit

请注意database dir那里,特别是它在文件存储的末尾附加了我的“节点名称”。该图像/var/lib/rabbitmq默认构成一个卷的全部。

解决

如果是docker 命令启动,修改docker命令的挂载目录即可,如果是docker-compose启动,则需要调整 compose 文件内容

version: "3.6"
services:
  rabbitmq:
    image: rabbitmq:3.12.3-management
    container_name: ts_rabbitmq
    restart: always
    ports:
      - 5672:5672
      - 15672:15672
    volumes:
    	# 这里 调整挂载文件路径
      - /data/source/data/rabbit_data:/var/lib/rabbitmq/mnesia
      - /data/source/conf/rabbit_conf/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
    environment:
      RABBITMQ_DEFAULT_USER: imuser
      RABBITMQ_DEFAULT_PASS: ABfe4GRB3tQjRAxm
      RABBITMQ_DEFAULT_VHOST: im_celery
      # 这是配置文件
      RABBITMQ_CONFIG_FILE: /etc/rabbitmq/rabbitmq.conf

查看

sudo docker exec -it ts_rabbitmq bash 

sudo docker logs -f ts_rabbitmq 

# 输出的内容中,找到 Config files 地址。
rabbitmq-diagnostics status

# 查看是否配置文件正常
rabbitmqctl eval 'application:get_env(rabbit,consumer_timeout).'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值