卸载原有的Docker及其相关数据:
clear_docker.sh
#!/bin/sh
# 停相关进程:
DOCKER_STATUS=$(rpm -qa | grep docker)
if [ "$DOCKER_STATUS" != "" ]; then
docker stop `docker ps -aq`
docker rm `docker ps -aq`
docker rmi `docker images -q`
systemctl stop docker
yum remove docker-ce
yum 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 docker0
fi
安装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