我最近安装了Docker for Mac,用于需要Docker,MongoDB容器和RabbitMQ容器的项目。我使用docker-compose.xml文件来创建容器。到目前为止,我可以通过localhost:27017从容器访问MongoDB数据库。
但是,我无法使用localhost:15672访问管理插件。我正在使用RabbitMQ的管理映像,但这根本不起作用。这是我的配置文件的副本:
搬运工-撰写-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-plugins启用rabbitmq_management"在文件中。我一直在"连接被重置"在浏览器上。
我是Docker的新手,我不确定是什么导致了这个问题。
似乎跳出来的唯一一件事就是在rabbitmq.config中;我没有看到其他端口的条目,包括15672.虽然这个文件是由rabbitmq添加的。此外,调用docker-compose logs命令不会显示任何指示已收到请求的条目。
从shell运行此命令解决了以下问题:
来自此网站的docker exec [CONTAINER_NAME] rabbitmq-plugins enable rabbitmq_management
,https://github.com/docker-library/rabbitmq/issues/45。我想使用图像rabbitmq:管理层应该解决这个问题。
为什么运行rabbitmq:management
图片无法解决此问题?