use*_*300 6 rabbitmq docker docker-compose
我最近为一个需要 Docker、MongoDB 容器和 RabbitMQ 容器的项目安装了 Docker for Mac。我正在使用 docker-compose.xml 文件来创建容器。到目前为止,我可以通过 localhost:27017 从容器访问 MongoDB 数据库。
但是,我无法使用 localhost:15672 访问管理插件。我正在使用 RabbitMQ 的管理映像,但这根本不起作用。这是我的配置文件的副本:
docker-compose-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/
Run Code Online (Sandbox Code Playgroud)
生成的rabbitmq.config:
[ { rabbit, [
{ loopback_users, [ ] },
{ tcp_listeners, [ 5672 ] },
{ ssl_listeners, [ ] },
{ hipe_compile, false }
] } ].
Run Code Online (Sandbox Code Playgroud)
我查看了管理映像的 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:management应该可以解决这个问题。
为什么运行rabbitmq:management图像不能解决这个问题?
| 归档时间: |
|
| 查看次数: |
4040 次 |
| 最近记录: |