我正在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
一切都很好。我可以访问网址RabbitMQ
进入rabbitmq.docker:15672
的管理页面,并正确配置用户docker
。
我想尝试一下,所以我删除了environment
部分。我删除了图像和容器,然后再次构建/运行它。
我不明白的是,我仍然可以使用相同的uri访问管理页面,虽然这次我没有指定虚拟主机。
生成的yml
文件是
rabbitmq:
image: rabbitmq:3-management
ports:
- "15672:15672"
- "5672:5672"
我错过了什么?由于我不再指定虚拟主机,根据我的理解,不应该发生这种情况。有没有办法查看Docker
正在使用的所有虚拟主机?
答案 0 :(得分:1)
有没有办法查看Docker正在使用的所有虚拟主机?
您在此上下文中误解了“虚拟主机”一词。 Docker完全没有虚拟主机的概念。在此上下文中,术语虚拟主机特定于RabbitMQ(或者更确切地说是由RabbitMQ实现的AMQP)。这是在RabbitMQ documentation(强调我的)中记录的:
[虚拟主机](或vhost)[...]指定协议引用的实体(交换和队列)的命名空间。 请注意,这不是HTTP意义上的虚拟主机。
使用rabbitmq
Docker镜像时,无论您的VIRTUAL_HOST
环境变量是什么,管理用户界面始终都可以在任何主机名下访问只要您使用该图片的3-management
标记。)
我建议您仔细阅读documentation of the rabbitmq
Docker image。在那里,您将看到该图像支持名为RABBITMQ_DEFAULT_VHOST
的环境变量。 此图片不会以任何方式评估变量VIRTUAL_HOST
和VIRTUAL_PORT
,也不会产生任何影响。