Я использую 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
, посетив url rabbitmq.docker:15672
, и пользователь docker
настроен правильно.
Я хотел немного поэкспериментировать, поэтому я удалил раздел environment
. Я удалил изображение и контейнер и снова построил/запустил его. То, что я не понимаю, я все равно могу посетить страницу управления с использованием того же uri, хотя на этот раз я не указал виртуальный хост.
Полученный файл yml
это
rabbitmq:
image: rabbitmq:3-management
ports:
- "15672:15672"
- "5672:5672"
Что я пропустил? Поскольку я больше не указываю виртуальный хост, это, на мой взгляд, не должно происходить. Есть ли способ увидеть все виртуальные хосты, которые использует Docker
?
'пользовательский интерфейс управления всегда будет доступен под любым именем хоста', что вы имеете в виду? – alkis
Что неважно, какое имя хоста HTTP вы используете для пользовательского интерфейса управления, будь то 'rabbitmq.docker', IP-адрес контейнера или любое другое имя хоста. Если вы сопоставляете порт 15672 с локальным хостом, 'http: // localhost: 15672' также будет работать отлично, так же, как' http: //127.0.0.1: 15672' или 'http: // [:: 1]: 15672'. – helmbert
Вот что я понял, но я хотел убедиться. Вы проверили это? Потому что для меня это не так. Я уже тестировал эту возможность, и единственными хост-именами HTTP, которые работают, являются ip-адрес контейнера (который ожидается) и 'rabbitmq.docker'. – alkis