根据用户选择安装指定版本Docker的一键安装脚本:
#!/bin/bash
# 检查当前用户是否为root用户
if [ "$EUID" -ne 0 ]
then
echo "请使用root用户运行此脚本"
exit 1
fi
# 安装选项
echo "请选择要安装的Docker版本:"
echo "1) Docker CE 20.10"
echo "2) Docker CE 19.03"
echo "3) Docker CE 18.09"
read -p "选择版本 [默认为1]: " DOCKER_VER
# 设置默认值
if [ -z "$DOCKER_VER" ]
then
DOCKER_VER="1"
fi
# 安装Docker CE 20.10
if [ "$DOCKER_VER" = "1" ]
then
echo "安装Docker CE 20.10..."
yum install -y yum-utils device-mapper-persistent-data lvm2 || { echo "无法安装必要的软件包"; exit 1; }
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo || { echo "无法添加docker-ce.repo仓库源"; exit 1; }
yum install -y docker-ce-20.10.* docker-ce-cli-20.10.* containerd.io || { echo "无法安装Docker CE 20.10"; exit 1; }
# 安装Docker CE 19.03
elif [ "$DOCKER_VER" = "2" ]
then
echo "安装Docker CE 19.03..."
yum install -y yum-utils device-mapper-persistent-data lvm2 || { echo "无法安装必要的软件包"; exit 1; }
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo || { echo "无法添加docker-ce.repo仓库源"; exit 1; }
yum install -y docker-ce-19.03.* docker-ce-cli-19.03.* containerd.io || { echo "无法安装Docker CE 19.03"; exit 1; }
# 安装Docker CE 18.09
elif [ "$DOCKER_VER" = "3" ]
then
echo "安装Docker CE 18.09..."
yum install -y yum-utils device-mapper-persistent-data lvm2 || { echo "无法安装必要的软件包"; exit 1; }
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo || { echo "无法添加docker-ce.repo仓库源"; exit 1; }
yum install -y docker-ce-18.09.* docker-ce-cli-18.09.* containerd.io || { echo "无法安装Docker CE 18.09"; exit 1; }
else
echo "无效的选项"
exit 1
fi
# 启动Docker服务
echo "启动Docker服务..."
systemctl start docker || { echo "无法启动Docker服务"; exit 1; }
# 设置Docker开机自启
echo "设置Docker开机自启..."
systemctl enable docker
echo "Docker安装完成!"
用户可以通过输入数字选择要安装的版本,如果用户没有输入任何值或输入了无效的选项,则默认安装Docker CE 20.10版本。安装过程中,脚本会自动安装必要的依赖包、添加Docker官方仓库源,并启动Docker服务。如果在安装过程中出现错误,则会打印出错误信息并退出脚本。