无法从Mac localhost的Docker容器访问rabbitmq web管理员

无法从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

我最近为一个需要Docker、MongoDB容器和RabbitMQ容器的项目安装了Docker for Mac。我正在使用docker-compose.xml文件创建容器。到目前为止,我能够通过localhost:27017从容器访问MongoDB数据库

但是,我无法使用localhost:15672访问管理插件。我正在使用RabbitMQ的管理映像,但这根本不起作用。这是我的配置文件的副本:

docker撰写yml:

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管理)可以解决所有情况。