【发布时间】:2014-02-28 21:50:17
【问题描述】:
在 Docker 镜像中配置 RabbitMQ 是一场噩梦。当使用 Fig 将 RabbitMQ 作为链接容器运行时,我可以连接到 RabbitMQ 接口,并成功配置 vhosts 和权限,让我的 Celery 工作人员可以毫无问题地连接。
但是,重新启动 Docker 会丢失配置设置。如何保留这些设置?
我尝试过的一些事情:
- 在配置完所有内容后,将
/etc/rabbitmq/rabbit.config从导出中写入 Docker 映像。 RabbitMQ 会忽略它。 - 在我的 Docker 文件中使用
ENV HOSTNAME localhost设置主机名,但这似乎会干扰图中链接 Docker 容器。
我做错了什么?是否有一个规范的 Dockerfile 用于获取配置的 RabbitMQ docker 容器用于 Docker 链接开发目的,最好使用 Fig ?
【问题讨论】:
-
rabbitmq-server是否报告任何错误?通常它很吵:) -
如果我每次都手动配置 RabbitMQ,客户端连接没有问题。但是,如果我尝试在 Docker 运行之间保持配置,我的 Celery 客户端会抱怨由于缺少虚拟主机而使用密码“guest”连接到
amqp://guest@<linked_docker_hostname>/<vhost>。