【发布时间】:2020-03-30 06:29:08
【问题描述】:
背景
我需要使用 RabbitMQ 服务和我的应用程序设置 docker-compose。这个 RabbitMQ 服务需要有 3 件事才能正常工作:
- 具有完全权限的名为“user1”的用户
- 一个名为“vhost1”的虚拟主机
- 在“vhost1”中,我需要一个名为“Pizza”的交换器
我们尝试了什么
为了实现这一点,我们尝试在我们的项目中创建一个名为 rabbitmq 的文件夹,其中包含以下文件:
definitions.json
{
"rabbit_version": "3.6.6",
"users": [
{
"name": "user1",
"password_hash": "pass1",
"hashing_algorithm": "rabbit_password_hashing_sha256",
"tags": "administrator"
}
],
"vhosts": [
{
"name": "\/vhost1"
}
],
"permissions": [
{
"user": "user1",
"vhost": "\/vhost1",
"configure": ".*",
"write": ".*",
"read": ".*"
}
],
"parameters": [],
"policies": [],
"queues": [],
"exchanges": [],
"bindings": []
}
rabbitmq.conf
loopback_users.guest = false
listeners.tcp.default = 5672
我们正在使用来自docker-compose 的volumes 命令安装此文件夹,并使用以下文件:
version: '3'
services:
rabbit:
image: rabbitmq:management
ports:
- "8080:15672"
- "5672:5672"
volumes:
- ${PWD}/rabbitmq:/etc/rabbitmq
问题
我们目前面临两个问题:
- 我们不会创建名为“Pizza”的交易所。
- 我们无法通过
localhost:8080访问 RabbitMQ 管理 UI,即使我们在docker-compose文件中指定了此端口的映射。
问题
- 我们如何在
defininitions.json文件中定义虚拟主机的交换? (我在哪里可以读到它?) - 为什么我们无法访问 UI?我们做错了什么?
【问题讨论】:
标签: docker docker-compose rabbitmq