Docker安装延迟队列插件
下载插件地址:https://www.rabbitmq.com/community-plugins.html
插件上传服务器
选择跟我们rabbitmq版本一致或者小于的插件即可。版本可在web管理首页查看。
将下载的插件上传到Linux系统上,使用 docker 命令将插件复制到容器内部 plugins目录下
docker cp rabbitmq_delayed_message_exchange-3.10.0.ez rabbitmq:/plugins
进入容器内部进行查看
docker exec -it rabbitmq bash
进入 plugins 目录查看
cd plugins
列表展示所有插件
ls
如果有rabbitmq_delayed_message_exchange-3.10.0.ez插件表示上传成功,但这是一个压缩包,不可以直接安装。需要通过unzip
命令先解压。而这个命令需要通过yum
或者sudo
命令进行安装。
以下操作都是在rabbitmq容器中执行的:
docker exec -it rabbitmq bash #该命令进入docker容器中
先查看unzip是否存在:
unzip
bash: unzip: command not found
由于我们的rabbitmq容器是Ubuntu系统的,没有yum命令,所以无法通过yum命令来执行一些常用操作。
二、如何判断容器是基于什么系统的
这个容器的系统很可能不是Centos系而是Ubuntu或者其他操作系统,你可以通过命令cat /proc/version
查看是否是乌班图系统。
Linux系统主要有2种分类,常见的有RedHat、Debian:
RedHat系列:Redhat、Centos、Fedora
Debian系列:Debian、Ubuntu
软件包管理工具
- yum:属于Redhat、Centos系的软件包管理工具
- apt:属于Debian、Ubuntu系的软件包管理工具
原文链接:解决Docker容器没有yum命令
在 Ubuntu 系统下,您可以使用以下命令来安装 unzip 工具并解压文件:
sudo apt-get install unzip #安装 unzip 工具
unzip file.zip #解压缩文件
sudo: command not found 怎么办
在 Ubuntu 系统中,sudo 是默认安装的,如果你的系统中找不到 sudo 命令,可能是因为您使用的是非 Ubuntu 系统或者没有配置正确的用户权限,可以尝试使用其他的超级用户身份来执行命令,例如使用 root 用户。
su - #切换到 root 用户
(输入 root 用户的密码)
如果您是使用的 Ubuntu 系统,可以尝试以下步骤来解决问题:
-
确认您当前使用的用户是否有执行 sudo 命令的权限,可以通过运行 groups 命令查看当前用户所属的用户组,是否包含 sudo 组。
-
如果您当前使用的用户没有 sudo 权限,可以切换到 root 用户或者其他有 sudo 权限的用户来执行命令。
su - #切换到 root 用户 (输入 root 用户的密码)
-
如果您当前使用的用户本来就有 sudo 权限,但是无法使用 sudo 命令,可以尝试重新安装 sudo 命令,可以通过以下命令来安装:
apt-get update #更新软件包列表 apt-get install sudo #安装 sudo 命令
-
解压插件
unzip 插件压缩包名
2.查看插件名:看延迟队列的插件名是什么
rabbitmq-plugins list
3.安装插件:后面为插件名,即通过2步骤查看的,而不是1步骤解压后的插件包名
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
- 查看插件是否成功启动:若插件名前是E* 则表示成功开启并处于运行状态
rabbitmq-plugins list