Docker虚拟主机caching

我使用的是与VirtualBoxdinghydocker-compose Docker 。 我正在通过docker-compose创build一个容器。 以下是docker-compose.ymlconfiguration。

 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.docker:15672进入RabbitMQ的pipe理页面,并且用户rabbitmq.docker:15672configuration正确。

我想尝试一下,所以我删除了environment部分。 我删除了图像和容器,并重新构build/运行。 我不明白的是这个,我仍然可以使用相同的uri访问pipe理页面,虽然这次我没有指定一个虚拟主机。

产生的yml文件是这样的

 rabbitmq: image: rabbitmq:3-management ports: - "15672:15672" - "5672:5672" 

我错过了什么? 由于我不再指定一个虚拟主机,据我了解,这不应该发生。 有没有办法看到Docker使用的所有虚拟主机?

有没有办法看到Docker使用的所有虚拟主机?

在这种情况下,您误解了“虚拟主机”这个词。 Docker根本没有虚拟主机的概念。 在这种情况下, 虚拟主机一词是特定于RabbitMQ(或更确切地说是由RabbitMQ实现的AMQP)。 这是在RabbitMQ文档 (重点是我的) 文档 :

[…]“虚拟主机”(或虚拟主机)指定协议引用的实体(交换和队列)的命名空间。 请注意,这不是HTTP的虚拟主机。

当使用rabbitmq Docker镜像时,无论您的VIRTUAL_HOST环境variables(只要您使用该镜像的3-management标签),pipe理UI 总是可以在任何主机名下访问

我build议彻底阅读rabbitmq Docker镜像文档 。 在那里你会看到图像支持名为RABBITMQ_DEFAULT_VHOST的环境variables。 VIRTUAL_HOSTVIRTUAL_PORTvariables不以任何方式被这个图像评估,并且根本没有任何效果。

Interesting Posts