我的docker-compose.yml
中有以下几行rabbit:
volumes:
- ./enabled_plugins:/etc/rabbitmq/enabled_plugins
- ./config/definitions.json:/opt/definitions.json:ro
- ./config/rabbitmq.config:/etc/rabbitmq/rabbitmq.config:ro
但是当我启动时,对于rabbitmq.config,它说
/usr/local/bin/docker-entrypoint.sh: line 386: /etc/rabbitmq/rabbitmq.config: Is a directory
知道我的卷声明中有什么问题???
答案 0 :(得分:1)
当前目录中的HOST
实际上可能是一个目录,而不是./config/rabbitmq.config
期望的配置文件。
答案 1 :(得分:1)
您正在将文件挂载为目录。
简化的解决方案是将要装入容器的文件的父目录挂载到您希望它们所在的目录中。
rabbit:
volumes:
- .:/etc/rabbitmq
- ./config:/opt:ro
- ./config:/etc/rabbitmq:ro
但请注意,您正在加载/opt
,并且您希望避免它,因此将所有配置文件放入主机上的config
并将它们显式挂载到目录中:
rabbit:
volumes:
- ./config:/etc/rabbitmq
- ./config:/opt/rabbitmq:ro
请注意,您需要将rabbitmq.config
更新为definition.json