添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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

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

3.重新启动rabbitmq容器,发现还是报容器已存在的错误,于是先根据提示的编号手动删除容器。
在这里插入图片描述

4.再重新启动容器即可。
在这里插入图片描述

最近练习一个项目,需要用到docker容器来方便的使用rabbitmq、redis等器件。但由于刚接触docker,很多东西都不了解,所以踩了很多坑,这里记录一个关于rabbitmq的坑,如有不正确的地方欢迎大家指正。目的:想要查看rabbitmq的运行情况我试了如下图所示的三种方式都不行:所以猜测是没有启动rabbitmq镜像,所以先进行启动。启动过程:1.先查看本地下载好的rabbitmq镜像版本:docker images。我使用的项目需要使用控制台界面,因此安装的是management版 设置阿里云镜像源 yum-config-manager --add-repo htt ps ://mirrors.aliyun.com/ docker -ce/linux/centos/ docker -ce.repo 安装 Docker -CE yum install docker -ce 我们选择了STARS数最多的官方镜像,此处需要注意,默认 rabbitmq 镜像是不带web端管理插件的,所以指定了镜像tag为3.8-management,表示下载包含web管理插件版本镜像,其它Tag版本可以访问 Docker Hub查询 二、创建 rabbitMq 容器 1.使用 docker ima... 先查看以下镜像是否拉取 成功 ,使用 docker images命令查看所有镜像,如下图所示, 显示 的是已经拉取 成功 ! 运行命令 启动 rabbitmq 服务并指定用户名密码 docker run -d --name rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ _DEFAULT_USER=admin -e RABBITMQ docker pull rabbitmq :management 说明:为什么不直接安装 docker pull rabbitmq 这个,因为这个安装后,开启对应端口后是不能直接访问它的管理后台,需要额外的命令开启,后面会讲这种情况 容器 运行,对应的端口开启 docker run -di --name=mycloud_ rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:2567 - `-d` 表示在后台运行 容器 ; - `--name` 指定 容器 的名称为 ` rabbitmq `; - `-p` 指定 容器 的端口映射,将 容器 内部的 `5672` 和 `15672` 端口映射到主机的相应端口上; - ` rabbitmq ` 是指要 启动 的镜像名称。 4. 等待一段时间后,可以使用以下命令查看 容器 是否正常运行: docker ps 如果看到 ` rabbitmq ` 容器 的状态为 `Up`,则表示 容器 已经 成功 启动 。 5. 最后,可以使用 ` docker stop` 命令停止 容器 的运行: docker stop rabbitmq 或者使用 ` docker rm` 命令删除 容器 docker rm rabbitmq 注意:删除 容器 会同时删除 容器 内的数据,如果需要保留数据,可以使用 ` docker commit` 命令将 容器 保存为镜像。 解决:管理员身份运行cmd出现mysql : 无法将“mysql”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。