无法从Mac localhost的Docker容器中访问rabbitmq webpipe理员
我最近为需要Docker,MongoDB容器和RabbitMQ容器的项目安装了Docker for Mac。 我正在使用docker-compose.xml文件来创build容器。 到目前为止,我能够通过localhost:27017从容器访问MongoDB数据库。
但是,我无法使用localhost:15672访问pipe理插件。 我正在使用RabbitMQ的pipe理映像,但是这根本不起作用。 这里是我的configuration文件的副本:
搬运工-组成,阳明海运:
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 } ] } ].
我查看了pipe理镜像的Dockerfile,它似乎允许在文件中使用“rabbitmq-plugins enable rabbitmq_management”。 我一直在浏览器上看到“连接被重置”。
我是新来的Docker,不知道是什么原因造成这个问题。
似乎跳出来的唯一的事情是在rabbitmq.config; 我没有看到其他端口的条目,包括15672.虽然这个文件是由rabbitmq添加的。 另外,调用docker-compose logs命令不会显示任何表示收到请求的条目。
解
从shell运行这个命令解决了这个问题: docker exec [CONTAINER_NAME] rabbitmq-plugins enable rabbitmq_management
从这个网站docker exec [CONTAINER_NAME] rabbitmq-plugins enable rabbitmq_management
, https://github.com/docker-library/rabbitmq/issues/45 。 我以为使用图像rabbitmq:pipe理应该解决这个问题。
为什么运行rabbitmq:management
image不能解决这个问题?