基于 CentOS 8 实现一键安装docker脚本

注:此脚本适用于centos8安装,具体需要根据实际情况进行测试调整。

脚本1

利用阿里云的基于 Centos 8 的docker yum源实现

[root@centos8 ~]# cat install_docker_centos8_yum.sh
#!/bin/bash
#
#**************************************************
#Author:                Xan_Yum
#QQ:                    7993167
#Email:                 waluna@qq.com
#Version:               1.0
#Date:                  2021-07-07
#FileName:              install_docker_centos8_yum.sh
#Description:           install docker
#URL:                   https://waluna.top
#Copyroght (C):         2021 ALL rights reserved
#**************************************************

. /etc/init.d/functions
COLOR="echo -e \e[1;31m"
END="\e[0m"
DOCKER_VERSION="-19.03.15-3.el8"

${COLOR}"Begin install docker, Please wait..."${END}
install_docker(){
tee /etc/yum.repos.d/docker.repo &> /dev/null <<EOF
[docker]
name=docker
gpgcheck=0
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/
EOF

yum clean all &> /dev/null
dnf install docker-ce${DOCKER_VERSION} docker-ce-cli${DOCKER_VERSION} -y &> /dev/null \
|| { ${COLOR}"Base,Extras yum is fail,Please check yum"${END};exit; }

mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://eph8xfli.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl enable --now docker &> /dev/null
docker version && ${COLOR}"Docker install completion"${END} || ${COLOR}"Docker install failure"${END}
}

rpm -q docker-ce &> /dev/null && action "Docker already install" || install_docker

脚本2

早期 CentOS 8 无yum仓库,可以利用下面脚本安装docker

[root@centos8 ~]# cat install_docker_centos8_containerd_el7.rpm.sh
#!/bin/bash
#
#**************************************************
#Author:                Xan_Yum
#QQ:                    7993167
#Email:                 waluna@qq.com
#Version:               1.0
#Date:                  2021-07-07
#FileName:              install_docker_centos8_containerd_el7.rpm.sh
#Description:           The test script
#URL:                   https://waluna.top
#Copyroght (C):         2021 ALL rights reserved
#**************************************************

. /etc/init.d/functions
COLOR="echo -e \e[1;31m"
END="\e[0m"
DOCKER_VERSION="-19.03.15-3.el8"

${COLOR}"Begin install docker, Please wait..."${END}
install_docker(){
wget -P /etc/yum.repos.d/ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo || { ${COLOR}"Please check network!"${END};exit; }

yum clean all &> /dev/null
dn install https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm -y &> /dev/null
dnf install docker-ce${DOCKER_VERSION} docker-ce-cli${DOCKER_VERSION} -y &> /dev/null \
|| { ${COLOR}"Base,Extras yum is fail,Please check yum"${END};exit; }

mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["https://eph8xfli.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl enable --now docker &> /dev/null
docker version && ${COLOR}"Docker install completion"${END} || ${COLOR}"Docker install failure"${END}
}

rpm -q docker-ce &> /dev/null && action "Docker already install" || install_docker