docker 中的 rabbitmq 如何默认打开 rabbitmq_prometheus ?

我是用下面的方式,使用 docker 来跑一个 rabbitmq server,但是我遇到了一个问题,就是我想默认开启 rabbitmq 的 rabbitmq_prometheus 插件

version: "3"
services:
  rabbitmq3-management:
    container_name: rabbitmq3-management
    image: rabbitmq:3-management
    hostname: rabbitmq3-management-standalone
    logging:
      driver: json-file
      options:
        max-size: "100m"
        max-file: "1"
    environment:
      - RABBITMQ_DEFAULT_USER=pon
      - RABBITMQ_DEFAULT_PASS=pon
    volumes:
      # - "./volumes:/var/lib/rabbitmq"
      - "./rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf"
    ports:
      - "5672:5672"
      - "15672:15672"
      - "15692:15692"

正常情况下,开启 rabbitmq_prometheus 插件,需要:

  • docker exec -it rabbitmq3-management bash 先进入 docker 容器中
  • 再执行 rabbitmq-plugins enable rabbitmq_prometheus 开启插件

但是这样有点麻烦,尤其是需要开启的插件很多的时候

有什么办法,可以把需要开启的插件一股脑都写在 docker-compose.yaml 里面吗?

然后一键启动吗?


我本以为可以通过类似 RABBITMQ_DEFAULT_USER、RABBITMQ_DEFAULT_PASS 设置账号密码那样,开增加一个 env 来启动插件,但是通过阅读 rabbitmq sever doc(supported-environment-variables),发现貌似没有这个 env

阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题