Docker 已缓存虚拟主机
Docker virtual host cached
我将 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
一切正常。访问urlrabbitmq.docker:15672
可以进入RabbitMQ
的管理页面,用户docker
配置正确。
我想尝试一下,所以删除了 environment
部分。我删除了图像和容器并再次 built/run 。
我不明白的是,我仍然可以使用相同的uri访问管理页面,虽然我这次没有指定虚拟主机。
生成的 yml
文件是这个
rabbitmq:
image: rabbitmq:3-management
ports:
- "15672:15672"
- "5672:5672"
我错过了什么?由于我不再指定虚拟主机,据我所知,这不应该发生。有没有办法查看 Docker
正在使用的所有虚拟主机?
Is there a way to see all the virtual hosts that Docker is using?
您误解了本文中的术语 "Virtual Host"。 Docker 根本没有虚拟主机的概念。在这种情况下,术语 Virtual Host 特定于 RabbitMQ(或者更确切地说,由 RabbitMQ 实现的 AMQP)。这记录在 RabbitMQ documentation(强调我的):
[...] the "virtual host" (or vhost) [...] specifies the namespace for entities (exchanges and queues) referred to by the protocol. Note that this is not virtual hosting in the HTTP sense.
使用 rabbitmq
Docker 图像时,管理 UI 将 始终可以在 any 主机名下访问,无论您的 VIRTUAL_HOST
环境变量如何(只要您使用该图像的 3-management
标签)。
我建议通读 documentation of the rabbitmq
Docker image。在那里你会看到图像支持一个名为 RABBITMQ_DEFAULT_VHOST
的环境变量。 变量 VIRTUAL_HOST
和 VIRTUAL_PORT
未通过此图像以任何方式评估,根本没有任何影响。
我将 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
一切正常。访问urlrabbitmq.docker:15672
可以进入RabbitMQ
的管理页面,用户docker
配置正确。
我想尝试一下,所以删除了 environment
部分。我删除了图像和容器并再次 built/run 。
我不明白的是,我仍然可以使用相同的uri访问管理页面,虽然我这次没有指定虚拟主机。
生成的 yml
文件是这个
rabbitmq:
image: rabbitmq:3-management
ports:
- "15672:15672"
- "5672:5672"
我错过了什么?由于我不再指定虚拟主机,据我所知,这不应该发生。有没有办法查看 Docker
正在使用的所有虚拟主机?
Is there a way to see all the virtual hosts that Docker is using?
您误解了本文中的术语 "Virtual Host"。 Docker 根本没有虚拟主机的概念。在这种情况下,术语 Virtual Host 特定于 RabbitMQ(或者更确切地说,由 RabbitMQ 实现的 AMQP)。这记录在 RabbitMQ documentation(强调我的):
[...] the "virtual host" (or vhost) [...] specifies the namespace for entities (exchanges and queues) referred to by the protocol. Note that this is not virtual hosting in the HTTP sense.
使用 rabbitmq
Docker 图像时,管理 UI 将 始终可以在 any 主机名下访问,无论您的 VIRTUAL_HOST
环境变量如何(只要您使用该图像的 3-management
标签)。
我建议通读 documentation of the rabbitmq
Docker image。在那里你会看到图像支持一个名为 RABBITMQ_DEFAULT_VHOST
的环境变量。 变量 VIRTUAL_HOST
和 VIRTUAL_PORT
未通过此图像以任何方式评估,根本没有任何影响。