環境:centos7
請參考https://www.cnblogs.com/maohai-kdg/p/13474024.html
哈哈,感覺寫的比之前好多了。純SHELL小白,考慮的不深,如有錯誤的地方請各位大神不吝賜教,謝謝!
#!/bin/bash
#退出腳本
function exit_script(){
exit 1
}
function caozuo(){
systemctl start docker
systemctl enable docker
docker version
}
var=$(uname -r)
temp=${var:0:4}
a=$(echo $temp)
b=3.10
a1=${a:0:1}
a2=${a:2:1}
a3=${a:3:1}
b1=${b:0:1}
b2=${b:2:1}
b3=${b:3:1}
temp1=`expr $a1 \* 100 - $b1 \* 100 + $a2 \* 10 - $b2 \* 10 + $a3 - $b3`
#echo $temp1
echo "當前版本為$a"
if [ $temp1 -ge 0 ]
then
echo "可以安裝docker"
else
echo "版本過低,安裝docker至少需要3.10以上內核版本,暫時無法安裝docker"
exit_script
fi
echo "開始安裝docker"
#卸載舊版本
yum remove -y docker docker-common docker-selinux docker-engine
#安裝依賴的軟件包
yum install -y yum-utils device-mapper-persistent-data lvm2
#設置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates |sort -r
function xuanze(){
echo "如您需要選擇特定版本請輸入Y/y,如您選擇N/n,則默認安裝最新版本"
stty erase '^H'
read -p "please choise Y/N: " answer
case $answer in
Y|y|yes|YES)
echo "您選擇安裝特定版本,格式如下:18.06.3"
read -p "請輸入您選擇的版本: " banben;;
N|n|no|NO) echo "Now,installing the new..."
yum -y install docker
caozuo
exit_script ;;
*) echo "sorry,your input error,please repeat it"
xuanze ;;
esac
}
xuanze
#echo $banben
#echo $answer
tempfile=$(mktemp testinstalldocker.XXXXXX)
yum list docker-ce --showduplicates |sort -r > $tempfile
#echo $(grep -c $banben $tempfile )
te1=docker-ce-
te2=.ce
ver=$te1$banben$te2
if [ `grep -c $banben $tempfile` -eq 1 ]
then
echo "your select version is $ver"
echo "Now,installing docker..."
else
echo "Sorry,your are not select right,please repeat it"
exit_script
fi
rm -rf $tempfile
yum -y install $ver
caozuo
版本更新信息:2020/09/08添加Y/N驗證信息
后續繼續改進!!!