Docker常用命令( 二 )

创建两个Haproxy容器
#创建第1个Haproxy负载均衡服务器docker run -it -d -p 4001:8888 -p 4002:3306-v /home/soft/haproxy:/usr/local/etc/haproxy--name h1 --privileged --net=net1 --ip 172.18.0.7 haproxy#进入h1容器,启动Haproxydocker exec -it h1 bashhaproxy -f /usr/local/etc/haproxy/haproxy.cfg#创建第2个Haproxy负载均衡服务器docker run -it -d -p 4003:8888 -p 4004:3306-v /home/soft/haproxy:/usr/local/etc/haproxy--name h2 --privileged --net=net1 --ip 172.18.0.8 haproxy#进入h2容器,启动Haproxydocker exec -it h2 bashhaproxy -f /usr/local/etc/haproxy/haproxy.cfgHaproxy容器内安装Keepalived,设置虚拟IP
#进入h1容器docker exec -it h1 bash#更新软件包apt-get update#安装VIMapt-get install vim#安装Keepalivedapt-get install keepalived#编辑Keepalived配置文件(参考下方配置文件)vim /etc/keepalived/keepalived.conf#启动Keepalivedservice keepalived start#宿主机执行ping命令ping 172.18.0.201配置文件内容如下:
vrrp_instanceVI_1 {stateMASTERinterfaceeth0virtual_router_id51priority100advert_int1authentication {auth_typePASSauth_pass123456}virtual_ipaddress {172.18.0.201}}#进入h2容器docker exec -it h2 bash#更新软件包apt-get update#安装VIMapt-get install vim#安装Keepalivedapt-get install keepalived#编辑Keepalived配置文件vim /etc/keepalived/keepalived.conf#启动Keepalivedservice keepalived start#宿主机执行ping命令ping 172.18.0.201vrrp_instanceVI_1 {stateMASTERinterfaceeth0virtual_router_id51priority100advert_int1authentication {auth_typePASSauth_pass123456}virtual_ipaddress {172.18.0.201}}宿主机安装Keepalived,实现双击热备
#宿主机执行安装Keepalivedyum -y install keepalived#修改Keepalived配置文件vi /etc/keepalived/keepalived.conf#启动Keepalivedservice keepalived startKeepalived配置文件如下:
vrrp_instance VI_1 {state MASTERinterface ens33virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.99.150}}virtual_server 192.168.99.150 8888 {delay_loop 3lb_algo rrlb_kind NATpersistence_timeout 50protocol TCPreal_server 172.18.0.201 8888 {weight 1}}virtual_server 192.168.99.150 3306 {delay_loop 3lb_algo rrlb_kind NATpersistence_timeout 50protocol TCPreal_server 172.18.0.201 3306 {weight 1}}热备份数据
#进入node1容器docker exec -it node1 bash#更新软件包apt-get update#安装热备工具apt-get install percona-xtrabackup-24#全量热备innobackupex --user=root --password=abc123456 /data/backup/full冷还原数据 停止其余4个节点,并删除节点
docker stop node2docker stop node3docker stop node4docker stop node5docker rm node2docker rm node3docker rm node4docker rm node5node1容器中删除MySQL的数据
#删除数据rm -rf /var/lib/mysql/*#清空事务innobackupex --user=root --password=abc123456 --Apply-back /data/backup/full/2018-04-15_05-09-07/#还原数据innobackupex --user=root --password=abc123456 --copy-back/data/backup/full/2018-04-15_05-09-07/安装Redis,配置RedisCluster集群安装Redis镜像
docker pull yyyyttttwwww/redis创建net2网段
docker network create --subnet=172.19.0.0/16 net2创建6节点Redis容器
docker run -it -d --name r1 -p 5001:6379 --net=net2 --ip 172.19.0.2 redis bashdocker run -it -d --name r2 -p 5002:6379 --net=net2 --ip 172.19.0.3 redis bashdocker run -it -d --name r3 -p 5003:6379 --net=net2 --ip 172.19.0.4 redis bashdocker run -it -d --name r4 -p 5004:6379 --net=net2 --ip 172.19.0.5 redis bashdocker run -it -d --name r5 -p 5005:6379 --net=net2 --ip 172.19.0.6 redis bash启动6节点Redis服务器
#进入r1节点docker exec -it r1 bashcp /home/redis/redis.conf /usr/redis/redis.confcd /usr/redis/src./redis-server ../redis.conf#进入r2节点docker exec -it r2 bashcp /home/redis/redis.conf /usr/redis/redis.confcd /usr/redis/src./redis-server ../redis.conf#进入r3节点docker exec -it r3 bashcp /home/redis/redis.conf /usr/redis/redis.confcd /usr/redis/src./redis-server ../redis.conf#进入r4节点docker exec -it r4 bashcp /home/redis/redis.conf /usr/redis/redis.confcd /usr/redis/src./redis-server ../redis.conf#进入r5节点docker exec -it r5 bashcp /home/redis/redis.conf /usr/redis/redis.confcd /usr/redis/src./redis-server ../redis.conf#进入r6节点docker exec -it r6 bashcp /home/redis/redis.conf /usr/redis/redis.confcd /usr/redis/src./redis-server ../redis.conf创建Cluster集群
#在r1节点上执行下面的指令cd /usr/redis/srcmkdir -p ../clustercp redis-trib.rb ../cluster/cd ../cluster#创建Cluster集群./redis-trib.rb create--replicas 1 172.19.0.2:6379 172.19.0.3:6379 172.19.0.4:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.0.7:6379打包部署后端项目进入人人开源后端项目,执行打包(修改配置文件,更改端口,打包三次生成三个JAR文件)


推荐阅读