diff --git a/2.docker/docker-install.sh b/2.docker/docker-install.sh index 8f9fb46..371d8e2 100644 --- a/2.docker/docker-install.sh +++ b/2.docker/docker-install.sh @@ -40,62 +40,85 @@ if which getenforce && [ $(getenforce) == "Enforcing" ]; then setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config fi +# 判断 Docker 是否已安装 +if [ -f "/usr/bin/docker" ]; then + logger "info" "信息:Docker 已安装,继续后续操作" +else + # 定义安装函数 + function install_docker() { + local install_method="$1" -# 定义安装函数 -function install_docker() { - local install_method="$1" + if [ "$install_method" == "local" ]; then + + if [ -d "services/docker" ]; then + logger "info" "信息:发现本地压缩包,进行解压安装" + cd services + cp docker/docker.service /etc/systemd/system/docker.service + cp docker/* /usr/bin + cd .. + else + logger "warning" "警告:未找到本地压缩包,无法进行本地安装" + return 1 + fi + elif [ "$install_method" == "curl" ]; then + logger "info" "信息:尝试通过 curl 安装 Docker" + curl -fsSL https://get.docker.com | sh + elif [ "$install_method" == "yum" ]; then + logger "warning" "警告:尝试通过 Yum 安装 Docker" + sudo yum remove docker \ + docker-client \ + docker-client-latest \ + docker-common \ + docker-latest \ + docker-latest-logrotate \ + docker-logrotate \ + docker-engine -y - if [ "$install_method" == "local" ]; then - if [ -f docker-*.tar.gz ]; then - logger "info" "信息:发现本地压缩包,进行解压安装" - tar zxvf docker-*.tar.gz - mv docker/docker.service /etc/systemd/system/docker.service - cp docker/* /usr/bin + sudo yum-config-manager \ + --add-repo \ + https://download.docker.com/linux/centos/docker-ce.repo + + sudo yum install docker-ce -y else - logger "warning" "警告:未找到本地压缩包,无法进行本地安装" + logger "error" "错误:无效的安装方法" return 1 fi - elif [ "$install_method" == "curl" ]; then - logger "info" "信息:尝试通过 curl 安装 Docker" - curl -fsSL https://get.docker.com | sh - elif [ "$install_method" == "yum" ]; then - logger "warning" "警告:尝试通过 Yum 安装 Docker" - yum remove docker \ - docker-client \ - docker-client-latest \ - docker-common \ - docker-latest \ - docker-latest-logrotate \ - docker-logrotate \ - docker-engine -y - yum-config-manager \ - --add-repo \ - https://download.docker.com/linux/centos/docker-ce.repo + mkdir -p /etc/docker + cat > /etc/docker/daemon.json <