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

时间:2017-11-14 15:59:01

标签: windows docker rabbitmq

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

根据这个manual,我添加了容器

docker run -d --hostname my-rabbit --name some-rabbit rabbitmq:latest

然后我检查了它以接收容器ip

docker inspect some-rabbit

使用

检查端口
docker ps

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

https://{container-ip}:{port}

没用完

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

修改

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

10 个答案:

答案 0 :(得分:26)

您使用的是错误的图片,该图片未启用rabbitmq_management插件。将<p:inputText id="code" value="#{myBean.code}" > <p:ajax event="change" listener="#{myBean.method1(myBean.code)}" update="@(form :input:not(button))" /> </p:inputText> <p:commandButton id="searchButton" value="Click me" action="#{myBean.method2(myBean.code)}" process="@this code" update="@form" oncomplete="PF('myDlg').show()" /> 更改为rabbitmq:latest

dockerhub上他们正在使用命令:

rabbitmq:management

如果您想转到docker run -d --hostname my-rabbit --name some-rabbit rabbitmq:3-management 上的用户界面,请确保通过在上述命令中添加localhost:15672来公开该端口。

管理映像只是启用了管理插件的rabbitmq lattest映像。这是-p 15672:15672

的dockerfile
rabbitmq:management

答案 1 :(得分:13)

首先,您需要管理图像(例如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:

启动容器后,现在可以在http://127.0.0.1:15672访问Rabbitmq。默认用户名和密码应为guest:guest。更多详情here

enter image description here

答案 2 :(得分:3)

撰写就像

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

答案 3 :(得分:1)

如果您通过以下方式启动Rabbitmq:

docker run -d --name some-rabbit -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15672:15672 rabbitmq

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

docker container exec -it some-rabbit rabbitmq-plugins enable rabbitmq_management

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

用户名:guest

密码:guest

答案 4 :(得分:1)

您想使用运行您的docker实例的IP来代替http://localhost:15672。 在Windows上运行:

ipconfig

使用如下突出显示的IP地址: enter image description here

然后尝试http://10.0.75.1:{your-rabbitmq-port}

答案 5 :(得分:0)

就我而言,我可以访问RabbitMQ的用户界面几天,但是有一天它突然停止工作,无法访问了。

经过一些调查,找到了此问题的根源。 Docker的主要服务以某种方式停止了。

因此,如果您可以访问UI,但一段时间后无法访问,请转到任务管理器并搜索 Docker.Service ,以查看其是否正在运行,如您在下图。

enter image description here

如果看不到它,则应手动运行它。 就我而言,我将其放在桌面上,称为“ Windows Docker”。

答案 6 :(得分:0)

我看到一些有用的答案,但是没有提到如何使用容器的ip地址访问服务器(rabbitmq)。对于正在寻找这种解决方案的人...

  • 确保您的Rabbitmq映像在容器运行中运行:docker inspect
  • [container-id]并向下滚动以找到容器的ip地址。
  • 将路由添加到包含的IP地址,请参见`<< / li>

github-issues

答案 7 :(得分:0)

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

答案 8 :(得分:0)

我使用以下命令 我定义了用户名和密码 我还暴露了端口 5673 和 15673 您需要输入您的用户名和密码

docker run -d --name same-rabbit \
--hostname my-rabbit \
-e RABBITMQ_DEFAULT_USER=USERNAME \
-e RABBITMQ_DEFAULT_PASS=PASSWORD \
-v /home/USER/rabbitmq/:/var/lib/rabbitmq \
-p 5673:5672 \
-p 15673:15672 \
rabbitmq:management

你也可以使用下面的docker compose

version: '3.3'
services:
    rabbitmq:
        container_name: same-rabbit
        environment:
            - RABBITMQ_DEFAULT_USER=USERNAME
            - RABBITMQ_DEFAULT_PASS=PASSWORD
        volumes:
            - '/home/USER/rabbitmq/:/var/lib/rabbitmq'
        ports:
            - '5673:5672'
            - '15673:15672'
        image: 'rabbitmq:management'

答案 9 :(得分:0)

请尝试使用第 3 版,在对 3.8 进行艰苦试验后,以下文章也适用于我

https://blog.devgenius.io/rabbitmq-with-docker-on-windows-in-30-minutes-172e88bb0808