rabbitmq 如何在docker-compose中使用自定义配置文件?

44u64gxh  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(1)|浏览(278)

我是一个初学者在使用rabbitmq和docker-compose。
我不知道如何使用我自己的配置文件...在启动时,rabbitmq服务不断退出,并返回错误:

rabbitmq1   | 2022-06-17 14:50:43.578486+00:00 [error] <0.130.0> Failed to load advanced configuration file "/etc/rabbitmq/rabbitmq.config": 1: syntax error before:

我的conf文件是下面的文件(myrabbit.conf)

consumer_timeout = 10000

该文件与Docker-compose文件位于同一目录中,后者为:

version: "3"
services:
  rabbitmq:
    image: rabbitmq:3-management
    container_name: rabbitmq1
    hostname: 'rabbitmq'
    ports:
      - "5672:5672"
      - "15672:15672"
    volumes:
     - ~/.docker-conf/rabbitmq/data/:/var/lib/rabbitmq/mnesia/
     - ./myrabbit.conf:/etc/rabbitmq/rabbitmq.config #problematic line I guess...
    restart: always

其他测试:代替此测试:

- ./myrabbit.conf:/etc/rabbitmq/rabbitmq.config

当我尝试这个:

- myrabbit.conf:/etc/rabbitmq/rabbitmq.config

出现以下错误:

ERROR: Named volume "myrabbit.conf:/etc/rabbitmq/rabbitmq.config:rw" is used in service "rabbitmq" but no declaration was found in the volumes section.
qzwqbdag

qzwqbdag1#

我终于成功了。
下面是我所做的:
1.在与docker-compose.yml文件相同的目录中创建名为“rabbitmq”的目录
1.在该新目录中,创建以下文件:rabbitmq.conf(有待确认,但似乎必须是该名称)。
1.按如下所示修改docker-compose.yml文件:

version: "3"
services:
  rabbitmq:
    image: rabbitmq:3-management
    container_name: rabbitmq
    hostname: 'rabbitmq'
    ports:
      - "5672:5672"
      - "15672:15672"
    volumes:
     - ~/.docker-conf/rabbitmq/data/:/var/lib/rabbitmq/mnesia/
     - ./rabbitmq/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
    restart: always

在引导过程中,您应该看到:

这意味着rabbitmq服务很好地使用了定制的conf文件。
希望它能帮助其他人...

相关问题