我無法理解 docker 埠映射的作業原理。我有一個帶有幾個容器的 docker-compose 檔案,其中一個是rabbitmq 服務。
docker-compose 檔案是:
version: "3.9"
volumes:
test:
external: true
services:
rabbitmq3:
container_name: "rabbitmq"
image: rabbitmq:3.8-management-alpine
environment:
- RABBITMQ_DEFAULT_USER=myuser
- RABBITMQ_DEFAULT_PASS=mypassword
ports:
# AMQP protocol port
- '5671:5672'
# HTTP management UI
- '15671:15672'
所以容器運行使用docker compose up,沒問題。但是當我使用 container_ip:15671 或 container_ip:15671 訪問rabbitmq 管理插件時,我什么也沒得到。但是當我使用127.0.0.1:15672訪問它時,我可以訪問管理插件。
這可能是一個愚蠢的問題,但如何使用 localhost 訪問容器服務?
uj5u.com熱心網友回復:
埠語意就是這樣<HOST_PORT>:<CONTAINER_PORT>。這-p 15671:15672意味著容器埠 15672 映射到您機器上的埠 15671。
根據您的 docker compose 檔案,埠 5671 和 15671 在您的機器上公開。
管理門戶可以使用訪問http://localhost:15671,rabbitmq 服務可以使用http://localhost:5671.
該 IP127.0.0.1是localhost.
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/397268.html
