在 Docker 镜像中配置 RabbitMQ 是一场噩梦。当使用Fig作为链接容器运行 RabbitMQ 时,我可以连接到 RabbitMQ 接口,并成功配置vhosts和允许我的 Celery 工作人员进行连接,没有任何问题。
但是,重新启动 Docker 会丢失配置设置。我怎样才能保留这些设置?
我尝试过的一些事情:
/etc/rabbitmq/rabbit.configDocker 映像。RabbitMQ 会忽略它。ENV HOSTNAME localhost,但这似乎会干扰图 1 中链接 Docker 容器。我究竟做错了什么?是否有一个规范的 Dockerfile 用于获取配置的 RabbitMQ docker 容器以用于 Docker 链接开发目的,最好使用 Fig?
该问题似乎是由于 Docker 的每个新容器的默认主机名都会发生变化,而 RabbitMQ 实际上将配置绑定到主机名。
所以关键是设置主机名。
这是 docker-compose 的解决方案:
version: '3'
services:
rabbitmq:
image: rabbitmq:management
hostname: qsearchmq # specify your hostname here
volumes:
- rabbitmq:/var/lib/rabbitmq # use a volume to store the data
volumes:
rabbitmq:
driver: local
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8638 次 |
| 最近记录: |