如何使用docker容器在浏览器中打开rabbitmq?

Ole*_*jko 29 windows rabbitmq docker

这可能已经被问到了,但到目前为止我找不到任何详细的解释,并且存在文档......好吧,好像它是针对那些应该知道所有事情的心理学家而写的......

根据这本手册,我添加了容器

docker run -d --hostname my-rabbit --name some-rabbit rabbitmq:latest
Run Code Online (Sandbox Code Playgroud)

然后我检查它接收容器ip

docker inspect some-rabbit
Run Code Online (Sandbox Code Playgroud)

检查端口

docker ps
Run Code Online (Sandbox Code Playgroud)

并尝试通过此公式在浏览器中连接

https://{container-ip}:{port}
Run Code Online (Sandbox Code Playgroud)

没有成功

我做错了什么,或者我应该添加一些额外的东西,比如apache或其他东西的容器?

编辑

据我所知,在创建一些兔子容器后,现在我需要运行Dockerfile来创建图像?(这整件事让我感到困惑).我该怎么做?我的意思是,我看到了命令,docker build -f /path/to/a/Dockerfile但是如果我将Dockerfile放在第二条路径中D:\Docker\rabbitmq,我应该如何到达那里?(路径似乎没有被识别)

yam*_*enk 54

您正在使用未启用rabbitmq_management插件的错误图像.更改rabbitmq:latestrabbitmq:management.

dockerhub上,他们正在使用命令:

docker run -d --hostname my-rabbit --name some-rabbit rabbitmq:3-management
Run Code Online (Sandbox Code Playgroud)

如果要转到UI,请localhost:15672确保通过添加-p 15672:15672上述命令来公开端口.

管理映像只是启用了管理插件的rabbitmq lattest映像.这是dockerfilerabbitmq:management

FROM rabbitmq

RUN rabbitmq-plugins enable --offline rabbitmq_management

EXPOSE 15671 15672
Run Code Online (Sandbox Code Playgroud)

  • 重新创建了带有端口的容器(有没有办法将端口添加到现有容器中?),是的,现在它可以在 localhost:15672 上运行。但由于某种原因,它不适用于container-ip,您能否在您的答案中添加有关端口的内容?(无论如何都会接受,但仍然会更完整) (2认同)

two*_*new 23

首先,您需要管理映像(例如rabbitmq:3-management)来通过浏览器访问它。如果您的docker在本地运行,则应该可以通过导航到http://localhost:{port}http://127.0.0.1:{port}15672默认情况下)来访问它。

这是一个简单的例子docker-compose.yml

version: "3"
services:
 rabbitmq:
    image: "rabbitmq:3-management"
    ports:
      - "5672:5672"
      - "15672:15672"
    volumes:
      - 'rabbitmq_data:/data'

volumes:
  rabbitmq_data:
Run Code Online (Sandbox Code Playgroud)

启动容器后,现在可以从访问Rabbitmq http://127.0.0.1:15672。默认的用户名和密码应为guest:guest。更多细节在这里

在此处输入图片说明

  • 这不是dockerfile ...这是docker-compose文件,格式不正确。 (3认同)

小智 13

如果您使用以下内容启动rabbitmq:

docker run -d --name some-rabbit -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15672:15672 rabbitmq
Run Code Online (Sandbox Code Playgroud)

然后您可以在容器运行时使用以下命令启用其管理插件:

docker container exec -it some-rabbit rabbitmq-plugins enable rabbitmq_management
Run Code Online (Sandbox Code Playgroud)

并且管理 GUI 在http://localhost:15672 上运行 用于管理 GUI

用户名: guest

密码: guest


小智 9

在当前版本(20.10.12)中,我必须使用以下命令拉取最新的管理插件启用图像:

docker pull rabbitmq:management
Run Code Online (Sandbox Code Playgroud)

然后使用命令运行(此命令同时执行拉取和运行):

docker run -p 15672:15672 -p 5672:5672 --name rabbit-image-name rabbitmq:management
Run Code Online (Sandbox Code Playgroud)

导航到:http://localhost:15672/

有效!

确保在启动此容器映像之前停止其他容器映像。


Isu*_*nga 6

最好公开所有三个端口(5672,5673,15672)。
docker run -d --name some-rabbit -p 5672:5672 -p 5673:5673 -p 15672:15672 rabbitmq:3-management
然后您可以使用凭证“ guest” 浏览http:// localhost:15672 /用户名和密码。


Gon*_*alo 5

撰写会像

version: '3'
services:
  rabbitmq:
    image: rabbitmq:management
    ports:
      - '5672:5672'
      - '15672:15672'
    volumes:
      - rabbitmq_data
Run Code Online (Sandbox Code Playgroud)