我使用Docker
與VirtualBox
和dinghy
和docker-compose
。 我通過docker-compose
創建了一個容器。以下是docker-compose.yml
配置。Docker虛擬主機緩存
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
並且用戶docker
配置正確,我可以進入RabbitMQ
的管理頁面。
我想試驗一下,所以我刪除了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