首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker rabbitmq不适用于RABBITMQ_DEFAULT_USER和RABBITMQ_DEFAULT_PASS

Docker rabbitmq不适用于RABBITMQ_DEFAULT_USER和RABBITMQ_DEFAULT_PASS
EN

Stack Overflow用户
提问于 2022-04-03 13:05:12
回答 2查看 662关注 0票数 0

我试图使用以下配置运行rabbitmq服务:

代码语言:javascript
复制
version: '3.9'
services:
  rabbit-mq:
    container_name: rabbitmq
    image: rabbitmq:3-management
    environment:
      RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER}
      RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS}
      RABBITMQ_DEFAULT_VHOST: 'test'
    ports:
      - '5672:5672'
      - '15672:15672'
    networks:
      monorepo:

  gateway:
    container_name: gateway
    environment:
      - APP_PORT=${GATEWAY_MS_PORT}
    build:
      context: .
      args:
        - APP_NAME=monorepo-project
    ports:
      - ${GATEWAY_MS_PORT}:${GATEWAY_MS_PORT}
    networks:
      monorepo:

  user-microservice:
    container_name: user-microservice
    environment:
      - APP_PORT=${USER_MS_PORT}
    build:
      context: .
      args:
        - APP_NAME=user-microservice
    ports:
      - ${USER_MS_PORT}:${USER_MS_PORT}
    networks:
      monorepo:
    depends_on:
      - user-microservice-db

  user-microservice-db:
    image: mysql:latest
    container_name: user-microservice-db
    environment:
      MYSQL_ROOT_PASSWORD: ${USER_MS_MYSQL_PASSWORD}
      MYSQL_DATABASE: ${USER_MS_MYSQL_DATABASE}
    ports:
      - ${USER_MS_MYSQL_PORT}:${INTERNAL_DB_PORT}
    networks:
      monorepo:

networks:
  monorepo:

但是,rabbitmq服务给出了以下错误:

代码语言:javascript
复制
2022-04-03 12:59:28.937375+00:00 [info] <0.1164.0> closing AMQP connection <0.1164.0> (172.31.0.5:37026 -> 172.31.0.3:5672)

2022-04-03 12:59:30.941567+00:00 [info] <0.1171.0> accepting AMQP connection <0.1171.0> (172.31.0.5:37028 -> 172.31.0.3:5672)

2022-04-03 12:59:30.947123+00:00 [error] <0.1171.0> Error on AMQP connection <0.1171.0> (172.31.0.5:37028 -> 172.31.0.3:5672, state: starting):

2022-04-03 12:59:30.947123+00:00 [error] <0.1171.0> PLAIN login refused: user 'guest' - invalid credentials

如果没有默认用户并将其传递,它将按预期的方式工作。最近几天,我一直在寻找解决方案,并尝试了谷歌的所有建议。

此外,使用我的RABBITMQ_DEFAULT_USERRABBITMQ_DEFAULT_PASS,我可以登录到管理插件没有任何问题。

我的.env文件:

代码语言:javascript
复制
#RABBITMQ CONFIG
RABBITMQ_DEFAULT_USER=monorepo
RABBITMQ_DEFAULT_PASS=monorepo
RABBITMQ_PORT=5672
RABBITMQ_URL=rabbitmq
RABBITMQ_QUEUE=users
EN

回答 2

Stack Overflow用户

发布于 2022-04-28 10:29:13

我不知道为什么,但是default_pass没有出现在/etc/rabbitmq.conf中。对我来说,解决办法是:

删除environments

  • mkdir ./rabbit_config

  • touch ./rabbit_config/rabbitmq.conf

  • put in ./rabbit_config/rabbitmq.conf

中的

代码语言:javascript
复制
default_user = username
default_pass = password

docker-compose.yml:中添加

代码语言:javascript
复制
volumes:
      - ./rabbit_config/rabbitmq.conf:/etc/rabbitmq/conf.d/advanced.conf

  • docker-compose down & docker-compose up -d

usernamepassword成为有效的凭证。

最重要的是,环境只是无缘无故地开始工作。

票数 0
EN

Stack Overflow用户

发布于 2022-04-09 00:41:13

在3.8之后,您正在使用的环境变量不再受支持。

警告:从RabbitMQ 3.9开始,下面列出的所有特定于坞的变量都不再受欢迎,不再使用。请使用配置文件;请访问rabbitmq.com/配置以了解有关配置文件的更多信息。作为起点,3.8图像将打印出它从提供的环境变量生成的配置文件。

/etc/rabbitmq/definitions.json中使用这样的东西

代码语言:javascript
复制
{
 "rabbit_version": "3.9",
  {
   "name": "test12",
   "password_hash": "kI3GCqW5JLMJa4iX1lo7X4D6XbYqlLgxIs30+P6tENUV2POR,
   "hashing_algorithm": "rabbit_password_hashing_sha256",
   "tags": "administrator"
  }
 ],
 "vhosts": [
  {
   "name": "\/"
  },
 ],
 "permissions": [
  {
   "user": "local_jobs",
   "vhost": "\/",
   "configure": ".*",
   "write": ".*",
   "read": ".*"
  }
 ],
 "parameters": [],
 "policies": [],
 "queues": [],
 "exchanges": [],
 "bindings": []
}

然后将./rabbitmq/definitions.json:/etc/rabbitmq/definitions.json:ro添加到您的停靠库中的卷中-Compose.yaml。

用户名和密码是test12

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71726192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档