docker 容器使用 rabbitmq 的时候,加了bash 参数会无法访问
问题概括
我想知道为什么加了 bash 参数无法正确访问了?
问题描述
花了一个图,首先我用一台 AMD 5700G 的电脑
(ip地址:192.168.31.245) 去访问 rabbitmq。
rabbitmq 运行在一台树莓派
(ip地址:192.168.31.203)上,不过不是原生运行(apt),而是使用了 docker 。
根据 rabbitmq 官方上的 docker 安装命令:
命令如下:
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management
可以把 rabbitmq 跑起来了,并且在 AMD 5700G 的电脑的浏览器中输入 http://192.168.31.203:15672
可以正确看到那个 rabbitmq 的界面
但是因为我是除了 docker 初学者的阶段,所以我们删除了 docker run
中的 --rm
参数选项
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management
改为
docker run -it --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management
跑起来照样没有问题
为了更进一步研究该镜像中有什么内容,我选择加一个 bash 参数选项
sudo docker run -it --name rabbitmq_on_bash -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management bash
所以,现在有两个容器:
容器一:不带 bash 参数,可以正确访问 http://192.168.31.203:15672
docker run -it --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management
容器二:带 bash 参数,无法访问 http://192.168.31.203:15672
sudo docker run -it --name rabbitmq_on_bash -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management bash
我想知道为什么加了 bash 参数无法正确访问了?
TIPS:没有同时运行两个容器,都想先关闭某一个在运行另一个的
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,我想你不会同时启动这两个容器,共用一端口不可能两个都同时被访问到。
其次,rabbitmq启动也需要指令。通常应是通过Docker 的CMD 或 ENTRYPOINT 指定。如果命令行有参数,通常会把CMD替换成命令行参数。
即:
因此要看你的容器镜像打包的Dockerfile是如何写的。
我怀疑你进入容器之后阻塞住了管理面板。
》---
刚才在群里说来着,你可以直接换种方式呀
一样的效果。
先后台启动,然后exec进去即可