关于docker中的rabbitmq启动容器不成功,docker ps也找不到,重启报容器冲突的问题解决

时间:2024-05-21 20:57:26

最近练习一个项目,需要用到docker容器来方便的使用rabbitmq、redis等器件。但由于刚接触docker,很多东西都不了解,所以踩了很多坑,这里记录一个关于rabbitmq的坑,如有不正确的地方欢迎大家指正。
目的:想要查看rabbitmq的运行情况
我试了如下图所示的三种方式都不行:
关于docker中的rabbitmq启动容器不成功,docker ps也找不到,重启报容器冲突的问题解决
所以猜测是没有启动rabbitmq镜像,所以先进行启动
启动过程
1.先查看本地下载好的rabbitmq镜像版本:docker images。我使用的项目需要使用控制台界面,因此安装的是management版本
关于docker中的rabbitmq启动容器不成功,docker ps也找不到,重启报容器冲突的问题解决
2.启动命令:docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p5672:5672 docker.io/rabbitmq:3-management
回车后刚开始出现如下红框中的镜像编号,原以为启动成功,没想到隐藏了个bug。

遇到的问题:编号输出一会儿后出现了红框下方的问题,显示启动失败。Error starting。。。。。。。
关于docker中的rabbitmq启动容器不成功,docker ps也找不到,重启报容器冲突的问题解决
使用docker ps | grep rabbitmq也没有运行中的rabbitmq容器。
身为docker小白顿时一脸茫然,首先想到重新启动,重新输入启动的命令,结果报如下错误,说容器已存在,但docker ps并没有发现rabbitmq容器。
关于docker中的rabbitmq启动容器不成功,docker ps也找不到,重启报容器冲突的问题解决
自己解决失败,只好求助百度。经过百度后发现是listen tcp:0.0.0.0:5672报错,按照百度的方式进行如下操作,最终解决。
解决步骤
1.使用命令查看是否有这个进程:netstat -tanlp。发现有,如下图红框中所示。**由于tcp占用了15672这个端口,所以rabbitmq无法再使用这个端口进行监听。**因此要把这个tcp中的端口杀死。
关于docker中的rabbitmq启动容器不成功,docker ps也找不到,重启报容器冲突的问题解决
2.通过上图得知,tcp:0.0.0.0:5672的tcp号为7919,使用命令将其杀死:sudo kill 7919。
关于docker中的rabbitmq启动容器不成功,docker ps也找不到,重启报容器冲突的问题解决

3.重新启动rabbitmq容器,发现还是报容器已存在的错误,于是先根据提示的编号手动删除容器。
关于docker中的rabbitmq启动容器不成功,docker ps也找不到,重启报容器冲突的问题解决

4.再重新启动容器即可。
关于docker中的rabbitmq启动容器不成功,docker ps也找不到,重启报容器冲突的问题解决