我遇到了下一个问题。我想在docker容器中运行rabbitmq。当我用下一个命令运行docker image时:docker run -it --rm --name rabbit -e RABBITMQ_DEFAULT_USER=aaa -e RABBITMQ_DEFAULT_PASS=aaa -p 5672:5672 -p 15672:15672 rabbitmq:3-management
它运行得很好,但是我不能在docker-compose中运行它,这是我的docker-compose.yml
:
version: "3"
services:
rabbitmq3:
image: rabbitmq:3-management
container_name: rabbitmq
environment:
- RABBITMQ_DEFAULT_USER=aaa
- RABBITMQ_DEFAULT_PASS=aaa
ports:
- 15672:15672
- 5672:5672
我使用docker-compose up --build
命令。日志是可以的,但是我不能在localhost:15672
打开rabbitmq。
版本为:docker-compose version 1.24.0, build 0aa59064
Docker version 19.03.5, build 633a0ea838
编辑
我想,日志没问题,但我不确定。请检查一下here
3条答案
按热度按时间jv4diomz1#
我很抱歉一年后把这个问题提了出来,但我刚刚遇到了同样的问题,所以我希望它能帮助到一些人:)
TL;DR使用 rabbitmq:3-management-alpine 图像而不是rabbitmq:3-management 解决了这个问题。
下面是我的 docker-compose.yml:
运行
docker compose --detach
后,管理插件界面和代理本身将在http://localhost:15672(代理为tcp localhost:5672)上可用"说来话长"
将rabbitmq:3-managementimage与docker-composite.yml一起使用会在docker日志中生成以下输出:
输出在最后一行后停止
并且代理和管理插件都不可用。
但是,在运行以下命令(使用与docker-compose.yml中相同的参数)之后
日志实际上看起来非常不同:
您可能会注意到,服务器实际上已经启动,之后代理和管理UI都可以访问了!
现在,如果我们将docker-compose.yml中的图像从rabbitmq:3-管理更改为rabbitmq:3-管理-高山(参见TL;DR示例)并运行
docker compose up --detach
,日志输出看起来与docker run ... rabbitmq:3-management
非常相似,而且代理接口和管理插件接口在localhost上分别使用端口5672和15672时都能正常工作。3ks5zfa02#
请等待,而有时rabbitmq需要时间启动,尝试这个工作为我
sd2nnvve3#
使用docker-compose.yml运行RabbitMQ非常简单
停靠-编写.yml
你可以简单地通过使用命令启动docker合成文件
等待30秒,然后在浏览器中点击http://localhost:15672/。您可以使用guest作为默认用户名和密码。您可以在下面的GitHub中找到Sping Boot RabbitMQ示例
https://github.com/nidhishkrishnan/messaging