echo "設置阿里雲鏡像倉庫"
mkdir /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
curl -o /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum clean all && yum makecache && yum makecache fast
echo "安裝依賴包以及相關工具"
yum install -y yum-utils device-mapper-persistent-data lvm2 bind-utils
################### 卸載之前的docker ##########################
yum remove docker docker-ce docker-ce-cli docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine docker-ce-cli
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/run/docker
# 查看還有沒有存在的docker組件
rpm -qa|grep docker
# 有則通過命令 yum -y remove XXX 來刪除,比如:
yum remove docker-ce-cli
################################
# 不能安裝最新版本的docker,kubelet最大支持到docker 18.09版本
# 查看當前倉庫docker版本
yum list docker-ce.x86_64 --showduplicates |sort -r
yum list docker-ce-cli.x86_64 --showduplicates |sort -r
# 安裝指定docker版本,18.09。9版本的docker-ce和docker-ce-cli
yum install -y --setopt=obsoletes=0 docker-ce-18.09.9-3.el7 docker-ce-cli-18.09.9-3.el7
mkdir -p /data/docker
mkdir -p /etc/docker
##################### 修改Docker默認鏡像和容器的存儲位置 ##########################
# Docker默認的鏡像和容器存儲位置在/var/lib/docker中
# 修改docker.service文件
vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph=/data/docker --storage-driver=overlay --registry-mirror=https://jxus37ad.mirror.aliyuncs.com
# --graph=/data/docker:docker新的存儲位置
# --storage-driver=overlay2 : 當前docker所使用的存儲驅動 (存儲驅動不改也會變成overlay2)
# --registry-mirror=https://jxus37ad.mirror.aliyuncs.com : docker鏡像拉取地址
# 或者可以通過文件/etc/docker/daemon.json來設置
cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://tqvgn53t.mirror.aliyuncs.com"],"graph": "/data/docker"
}
systemctl daemon-reload
systemctl restart docker
# 查看docker信息
docker info
######################################################################################
# 可以考慮修改一下dockerm默認的鏡像存儲目錄
systemctl enable docker && systemctl start docker
# 確認一下iptables filter表中FOWARD鏈的默認策略(pllicy)為ACCEPT
iptables -nvL
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://tqvgn53t.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
}
}
EOF
systemctl restart docker.service
docker info | grep Cgroup