卸载原有的Docker及其相关数据:
clear_docker.sh
#!/bin/sh# 停相关进程:DOCKER_STATUS=$(rpm -qa | grep docker)if [ "$DOCKER_STATUS" != "" ]; thendocker stop `docker ps -aq`docker rm `docker ps -aq`docker rmi `docker images -q`systemctl stop dockeryum remove docker-ceyum remove docker# 删除 docker 工作目录rm -rf /var/lib/docker# 删除 docker 的一些运行文件rm -rf /var/run/docker/# 删除 systemd unit 文件rm -rf /etc/systemd/system/docker.service*# 删除docker 创建的网桥ip link del docker0fi
安装Docker
install_docker.sh
#!/bin/sh
ROOT=$(cd `dirname $0`/../&&pwd)
BIN_DIR=/usr/local/bin
# 安装Docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo $ROOT/docker-ce.repo
yum makecache fast
yum install -y docker-ce-17.06.2.ce-1.el7.centos.x86_64
# 将自定义的docker.service覆盖原有的docker.service
cp $ROOT/systemd/docker.service /etc/systemd/system/docker.service
systemctl daemon-reload
systemctl stop firewalld
systemctl disable firewalld
systemctl enable docker
systemctl start docker
#docker 从 1.13 版本开始,可能将 iptables FORWARD chain的默认策略设置为DROP,
#从而导致 ping 其它 Node 上的 Pod IP 失败,遇到这种情况时,需要手动设置策略为 ACCEPT
iptables -P FORWARD ACCEPT
echo "sleep 120 && /sbin/iptables -P FORWARD ACCEPT" >> /etc/rc.local
iptables -F && sudo iptables -X && sudo iptables -F -t nat && sudo iptables -X -t nat
