docker集群部署rabbitmq
1、自行安装docker
2、docker拉取rabbitmq:docker pull rabbitmq:3.7-management
3、创建节点
docker run -d --hostname rabbitmq01 --name rabbitmqCluster01 -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' rabbitmq:3.7-management
docker run -d --hostname rabbitmq02 --name rabbitmqCluster02 -p 7002:15672 -p 5673:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' --link rabbitmqCluster01:rabbitmq01 rabbitmq:3.7-management
docker run -d --hostname rabbitmq03 --name rabbitmqCluster03 -p 8002:15672 -p 5674:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' --link rabbitmqCluster01:rabbitmq01 --link rabbitmqCluster02:rabbitmq02 rabbitmq:3.7-management
4、集群部署
进入三个节点里,执行apt-get update,执行apt-get install y vim,如果y不允许则去掉
任意节点执行可以找到docker为节点分布的ip,将这个ip为每个节点都配置上。
:cd etc
:cat hosts
通过vim将三个节点中的hosts文件进行修改:
docker内为mq分发的ip(可以在任意节点里的hosts文件看到) rabbitmq01
docker内为mq分发的ip(可以在任意节点里的hosts文件看到) rabbitmq02
docker内为mq分发的ip(可以在任意节点里的hosts文件看到) rabbitmq03
从节点加入主节点://其他节点同理
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbitmq01
rabbitmqctl start_app
5、查看集群状态
rabbitmqctl cluster_status
6、在任意节点添加策略:当主节点宕机,所有队列未消费的消息复制到从节点
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'
7、删除策略主节点宕机后将不会复制到从节点
rabbitmqctl clear_policy ha-all
docker迁移到其他系统去
1、查看现有容器镜像
docker ps -a
2、commit保存镜像
docker commit 镜像id yolov5:v6.2
3、查看镜像是否保存成功
docker images
4、打包tar
docker save -o yolov5-v6.2.tar yolov5:v6.2
5、其他系统先安装好docker,然后加载tar镜像
docker load -i yolov5-v6.2.tar
6、查看是否出现镜像
docker images