无法从Mac localhost的Docker容器访问rabbitmq web管理员
我最近为一个需要Docker、MongoDB容器和RabbitMQ容器的项目安装了Docker for Mac。我正在使用docker-compose.xml文件创建容器。到目前为止,我能够通过localhost:27017从容器访问MongoDB数据库 但是,我无法使用localhost:15672访问管理插件。我正在使用RabbitMQ的管理映像,但这根本不起作用。这是我的配置文件的副本: docker撰写yml:无法从Mac localhost的Docker容器访问rabbitmq web管理员,docker,rabbitmq,docker-compose,Docker,Rabbitmq,Docker Compose,我最近为一个需要Docker、MongoDB容器和RabbitMQ容器的项目安装了Docker for Mac。我正在使用docker-compose.xml文件创建容器。到目前为止,我能够通过localhost:27017从容器访问MongoDB数据库 但是,我无法使用localhost:15672访问管理插件。我正在使用RabbitMQ的管理映像,但这根本不起作用。这是我的配置文件的副本: docker撰写yml: version: '2' services: mongo: con
version: '2'
services:
mongo:
container_name: "mongo1"
tty: true
image: mongo:latest
environment:
- MONGO_DATA_DIR=/data/db
- MONGO_LOG_DIR=/dev/null
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=***************
volumes:
- /data/db:/data/db
ports:
- 27017:27017
command: "mongod --smallfiles --auth"
rabbitmq:
container_name: "rabbitmq1"
tty: true
image: rabbitmq:management
ports:
- "15672:15672"
- "15671:15671"
- "5672:5672"
volumes:
- /rabbitmq/lib:/var/lib/rabbitmq
- /rabbitmq/log:/var/log/rabbitmq
- /rabbitmq/conf:/etc/rabbitmq/
生成的rabbitmq.config:
[ { rabbit, [
{ loopback_users, [ ] },
{ tcp_listeners, [ 5672 ] },
{ ssl_listeners, [ ] },
{ hipe_compile, false }
] } ].
我查看了Dockerfile中的管理映像,它似乎允许文件中的“rabbitmq插件启用rabbitmq_管理”。我一直在浏览器上看到“连接被重置”
我是Docker的新手,不确定是什么导致了这个问题
对我来说,唯一一件事似乎是在rabbitmq.config中;我没有看到其他港口的进口,包括15672。尽管此文件是由rabbitmq添加的。此外,调用docker compose logs命令不会显示任何指示已收到请求的条目
解决方案
从shell运行此命令解决了以下问题:
docker exec[CONTAINER_NAME]rabbitmq插件从此网站启用rabbitmq_管理。我认为使用镜像rabbitmq:management应该可以解决这个问题
为什么运行rabbitmq:management
映像无法解决此问题?无论操作系统如何,都会出现此问题。但是您的解决方案(run命令:docker exec[CONTAINER\u NAME]rabbitmq插件启用rabbitmq\u管理)可以解决所有情况。