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

5

我是一个初学者,正在学习使用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:

以下是我的配置文件(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

I get the following error:

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

7
我终于让它工作了。
以下是我的做法:
  1. 在docker-compose.yml文件所在的目录中创建一个名为“rabbitmq”的目录。
  2. 在该新目录中,创建名为rabbitmq.conf的文件(需要确认一下,但貌似必须是这个名称)。
  3. 按照以下方式调整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

启动过程中,你应该会看到:

enter image description here

这意味着rabbitmq服务很好地使用了自定义的配置文件。

希望对其他人有所帮助...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接