我用的是Docker和VirtualBox,dinghy和docker-compose。我正在通过docker-compose创建一个容器。下面是docker-compose.yml配置。
rabbitmq:
image: rabbitmq:3-management
ports:
- "15672:15672"
- "5672:5672"
environment:
VIRTUAL_HOST: 'rabbitmq.docker'
VIRTUAL_PORT: 15672
RABBITMQ_DEFAULT_USER: docker
RABBITMQ_DEFAULT_PASS: docker一切都很好。通过访问url RabbitMQ,我可以输入rabbitmq.docker:15672的管理页面,并且用户docker配置正确。
我想做一些实验,所以我删除了environment部分。我删除了图像和容器,并重新构建/运行它。我不明白的是,我仍然可以使用相同的uri访问管理页面,尽管这次我没有指定虚拟主机。
生成的yml文件如下
rabbitmq:
image: rabbitmq:3-management
ports:
- "15672:15672"
- "5672:5672"我错过了什么?据我所知,由于我不再指定虚拟主机,所以不应该发生这种情况。有没有办法查看Docker正在使用的所有虚拟主机?
发布于 2015-12-29 17:58:21
有办法查看Docker正在使用的所有虚拟主机吗?
在这种情况下,你误解了“虚拟主机”这个词。Docker根本没有虚拟主机的概念。在这种情况下,虚拟主机这个术语是特定于RabbitMQ (或者更确切地说,由RabbitMQ实现的AMQP )。这被记录在RabbitMQ文档 (强调地雷)中:
..。“虚拟主机”(或vhost)。指定协议所引用的实体(交换和队列)的命名空间。注意,这不是HTTP意义上的虚拟主机。
当使用rabbitmq Docker映像时,管理UI将始终可以在(任何主机名)下访问,而不管您的VIRTUAL_HOST环境变量(只要您使用的是该映像的3-management标记)。
我建议彻底阅读码头形象。在这里,您将看到图像支持一个名为RABBITMQ_DEFAULT_VHOST的环境变量。变量VIRTUAL_HOST,和,,,,,,,,,,,,等变量,都不以任何方式通过这个图像来计算,也没有任何效果。
https://stackoverflow.com/questions/34515555
复制相似问题