如何修复我的docker-compose.yml我得到一个rabbitmq.config是一个目录错误?
我在我的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
任何想法在我的卷声明这里有什么错?
您正在将文件挂载为目录。
简化的解决scheme是将要加载到容器中的文件的父目录安装到所需的目录中。
rabbit: volumes: - .:/etc/rabbitmq - ./config:/opt:ro - ./config:/etc/rabbitmq:ro
但是请注意,您正在安装到/opt
,并且您希望避免它,因此请将所有configuration文件都config
到您的主机上,并将它们显式安装到目录中:
rabbit: volumes: - ./config:/etc/rabbitmq - ./config:/opt/rabbitmq:ro
注意你需要将rabbitmq.config
更新到definition.json
新位置
很有可能您当前目录中的./config/rabbitmq.config
实际上是一个目录,而不是docker-entrypoint.sh
所期望的configuration文件。