搭建RabbitMQ Docker – RabbitMQ教程(三)
下面我们将会通过实践来学习RabbitMQ的概念及其使用,为了简化部署难度,减少部署过程中可能存在的问题,这里我们采用Docker方式进行部署。
安装前准备
配置虚拟机网络适配器
我这里使用了一台Ubuntu Server 20.4虚拟机进行操作,为了方便后续使用,这里将VMware的网络适配器设置为桥接模式。
- 首先关闭虚拟机,可以使用
shutdown
命令来进行关机。 - 在VMware管理面板找到编辑虚拟机设置并点开
- 找到网络适配器选项并在右侧选择桥接模式(B): 直接连接物理网络,对于需要认证的网络记得要进行认证。
- 点击下方确定并启动虚拟机
- Ubuntu Server 20.4可能无法使用
ifconfig
命令,我们使用sudo apt install net-tools
进行安装 - 使用
ifconfig
查看虚拟机占用的局域网IP,我这里是192.168.2.109
- 完成该项配置
Docker常用操作
prune
是docker后续版本的新命令可以,快速清理镜像和容器
列出所有的容器 ID
sudo docker ps -aq
停止所有的容器
sudo docker stop $(sudo docker ps -aq)
删除所有的容器
sudo docker rm $(sudo docker ps -aq)
sudo docker container prune
删除所有的镜像
sudo docker rmi $(sudo docker images -q)
sudo docker image prune
删除所有不使用的镜像
sudo docker image prune --force --all
或sudo docker image prune -f -a
删除所有停止的容器
sudo docker container prune -f
复制文件
sudo docker cp mycontainer:/opt/file.txt /opt/local/
sudo docker cp /opt/local/file.txt mycontainer:/opt/
创建持久化目录
mkdir -p $HOME/finangen/rabbitmq
使用上述命令创建rabbitmq的持久化目录,在创建容器时挂载到容器内部,防止重启后数据丢失。
启动Rabbit MQ
sudo docker run -d --hostname finangen-rabbit --name finangen-rabbit -p 5672:5672 -p 15672:15672 -p 25672:25672 -v $HOME/finangen/rabbitmq:/var/lib/rabbitmq -e RABBITMQ_DEFAULT_USER=finangen -e RABBITMQ_DEFAULT_PASS=finangen rabbitmq:management
解释一下各参数含义:
-
-d
守护模式运行,不会阻塞shell -
--hostname finangen-rabbit
主机名称 -
--name finangen-rabbit
容器名称,重启容器时可以使用sudo docker restart finangen-rabbit
-
-p 5672:5672
Rabbit MQ 的TCP监听端口 -
-p 15672:15672
Rabbit MQ的Web管理页面 -
-p 25672:25672
Rabbit MQ的集群连接端口,暂时用不到 -
-v $HOME/finangen/rabbitmq:/var/lib/rabbitmq
将我们前面创建的持久化目录挂载到容器中 -
-e RABBITMQ_DEFAULT_USER=finangen
设置Rabbit MQ默认用户名,管理页面登陆时也是使用该用户名 -
-e RABBITMQ_DEFAULT_PASS=finangen
设置Rabbit MQ默认密码,管理页面登陆时也是使用该密码 -
rabbitmq:management
使用的镜像名称,在Docker Hub上有多个镜像,但该镜像是自带管理界面的镜像,推荐使用。
查看Rabbit MQ 管理界面
当拉起容器后,我们可以使用sudo docker ps
查看已拉起的Docker容器,并且可以看到容器端口已经映射到虚拟机端口上,我们从宿主机上访问http://192.168.2.109:15672
来查看Rabbit MQ 管理界面。
提示需要登陆,我们将容器配置中的默认用户名密码finangen
输入进去并登陆。
成功打开管理面板。
下一步我们将使用SDK来连接到Rabbit MQ。
本文系作者 @root 原创发布在 CycleGen。未经许可,禁止转载。