在Linux中通过docker安装rabbitmq

先在Linux中安装docker,然后在docker中安装rabbitmq,并进行docker网络端口映射。

安装docker

第一步,卸载旧版本docker。

若系统中已安装旧版本docker,则需要卸载旧版本docker以及与旧版本docker相关的依赖项。

命令:yum -y remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

第二步,安装gcc依赖。

命令:yum -y install gcc gcc-c++

第三步,使用docker仓库进行安装。

在新主机上首次安装docker Engine-Community之前,需要设置docker仓库。之后,可以从仓库安装和更新docker。

设置仓库,安装所需的软件包。

命令:yum install -y yum-utils device-mapper-persistent-data lvm2

设置稳定的仓库,使用官方源地址(比较慢)

命令:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

可以选择国内的一些源地址,如阿里云

命令:yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

可以选择国内的一些源地址,如清华大学源

命令:yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

第四步,安装docker Engine-Community。

更新yum软件包索引

命令:yum makecache

安装最新版本的docker Engine-Community和containerd

命令:yum -y install docker-ce docker-ce-cli containerd.io

查看docker-ce是否成功安装

命令:yum list docker-ce

docker安装完默认未启动,并且已经创建好docker用户组,但该用户组下没有用户。

列出存储库中可用的版本并按版本号从高到低进行排序

命令:yum list docker-ce --showduplicates | sort -r

通过其完整的软件包名称安装特定版本,如docker-ce-24.0.0。

命令:yum -y install docker-ce-24.0.0 docker-ce-cli-24.0.0 containerd.io

第五步,启动docker。

命令:systemctl enable docker

systemctl start docker

systemctl restart docker

若结果显示"Job for docker.service failed because the control process exited with error code.See "systemctl status docker.service" and "journalctl -xe" for details.",则运行如下命令:

systemctl daemon-reload

systemctl restart docker.service

第六步,验证docker Engine-Community是否正确安装。

命令:docker version

docker run hello-world

若结果显示"Hello from docker!",则说明docker Engine-Community正确安装。

进行docker网络端口映射

第一步,从Docker Hub上查找rabbitmq镜像。

命令:docker search rabbitmq

第二步,拉取rabbitmq镜像。

拉取最新版本的rabbitmq镜像

命令:docker pull rabbitmq:management

第三步,列出本地所有的镜像。

命令:docker images -a

第四步,列出当前所有正在运行的镜像。

命令:docker images

第五步,从docker中删除镜像。

命令:docker rmi 镜像ID或容器名称

从docker中强制删除镜像

命令:docker rmi -f 镜像ID或容器名称

通过docker images -p查询到的镜像ID来删除所有镜像

命令:docker rmi -f $(docker images -p)

第六步,创建执行网络端口映射容器。

设置erlang发现端口为4368;设置amqp客户端端口为5672;设置http管理界面端口为15672;设置clustering服务端内部通信端口为25672。

命令:docker run -dit --restart=always \

--privileged=true \

--cap-add SYS_ADMIN \

-e container=docker \

--network bridge \

-p 4368:4368 \

-p 5672:5672 \

-p 15672:15672 \

-p 25672:25672 \

-v /data:/data \

--name rabbitmq \

rabbitmq:management \

/usr/sbin/init

第七步,列出所有的容器。

命令:docker ps -a

第八步,列出当前所有正在运行的容器。

命令:docker ps

第九步,强制停止容器。

命令:docker kill 容器ID或容器名称

第十步,删除容器。

命令:docker rm 容器ID或容器名称

从docker中强制删除容器

命令:docker rm -f 容器ID或容器名称

删除多个容器

命令:docker rm -f $(docker ps -a -q)

Rabbitmq配置

第一步,进入rabbitmq容器。

命令:docker ps

docker exec -it [容器ID] /bin/bash

第二步,添加其他用户。

因guest用户只能在本机访问,所以需要添加一个admin用户,密码设为123456。添加用户只能在Rabbitmq启动的状态下进行。

命令:rabbitmqctl add_user admin 123456

rabbitmqctl set_user_tags admin administrator

rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

修改密码

命令:rabbitmqctl change_password 用户名 新密码

删除用户

命令:rabbitmqctl delete_user 用户名

查看用户清单

命令:rabbitmqctl list_users

第三步,开启管理权限。

命令:rabbitmq-plugins enable rabbitmq_management

第四步,在浏览器上访问rabbitmq网页。

访问:http://x.x.x.x:15672,可以使用(用户名:guest,密码:guest)登录,也可以使用(用户名:admin,密码:123456)登录。

(IP地址是Rabbitmq所安装在的服务器的IP地址)

卸载docker

卸载docker

命令:systemctl stop docker

yum remove docker-ce docker-ce-cli containerd.io

删除安装包

命令:yum remove docker-ce

删除镜像、容器、配置文件等内容

命令:rm -rf /var/lib/docker

rm -rf /var/lib/containerd

相关推荐
天若有情6733 小时前
新闻通稿 | 软件产业迈入“智能重构”新纪元:自主进化、人机共生与责任挑战并存
服务器·前端·后端·重构·开发·资讯·新闻
BJ_Bonree3 小时前
圆桌论坛精华实录 | AI是重构运维逻辑的颠覆性革命?博睿数据与行业大咖亲授“AI+可观测性”的破局之道
运维·人工智能·重构
鱼干~4 小时前
electron基础
linux·javascript·electron
apocelipes4 小时前
POSIX兼容系统上read和write系统调用的行为总结
linux·c语言·c++·python·golang·linux编程
冬夜戏雪4 小时前
【尚庭公寓152-157】[第6天]【配置阿里云号码认证服务】
运维·服务器
恋上钢琴的虫4 小时前
openEuler上安装高版本的docker
运维·docker·容器
森语林溪4 小时前
大数据环境搭建从零开始(十四)CentOS 7 系统更新源更换详解:阿里云镜像源配置完整指南
大数据·linux·运维·阿里云·centos
Fanmeang5 小时前
华为交换机VLAN技术详解:从基础到高级应用
运维·网络·华为·vlan·交换机·mux vlan
Y淑滢潇潇5 小时前
RHCE Day3 DNS服务器
运维·服务器
半梦半醒*5 小时前
k8s——service详解
linux·运维·docker·容器·kubernetes