mkdir /etc/keepalivedcp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/然后复制keepalived脚本文件:cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ln -s /usr/local/sbin/keepalived /usr/sbin/可以设置开机启动:chkconfig keepalived on,到此我们安装完毕!
#若启动报错,则执行下面命令
cd /usr/sbin/
rm -f keepalived
cp /usr/local/keepalived/sbin/keepalived /usr/sbin/
#常用命令
systemctl daemon-reload 重新加载systemctl enable keepalived.service 设置开机自动启动systemctl disable keepalived.service 取消开机自动启动systemctl start keepalived.service 启动systemctl stop keepalived.service停止systemctl status keepalived.service 查看服务状态
10,修改/etc/keepalived/keepalived.conf文件
#备份配置文件
cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.backuprm -f keepalived.conf
vim keepalived.conf
#配置文件如下
vrrp_script chk_nginx {
script "/etc/keepalived/nginx_check.sh"
interval 2
weight -20
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 121
mcast_src_ip 172.17.0.6
priority 100
nopreempt
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_nginx
}
virtual_ipaddress {
172.17.0.100
}
}
11,添加心跳检测文件
vim nginx_check.sh
#以下是脚本内容
#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
/usr/local/nginx/sbin/nginx
sleep 2
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi12,给脚本赋予执行权限
chmod +x nginx_check.sh13,设置开机启动
systemctl enable keepalived.service#开启keepalived
systemctl start keepalived.service
14,检测虚拟IP是否成功,在宿主机里面执行下面命令,如果出现nginx欢迎界面表示成功
curl 172.17.0.10015,将centos_temp 容器重新打包成镜像,然后利用这个新镜像再创建两个容器,实现热备效果
docker commit -a 'cfh' -m 'centos with keepalived nginx' centos_temp centos_kn16,删除所有容器
docker rm -f `docker ps -a -q`17,用centos_kn 镜像创建主服务器容器










