#!/bin/bash # 检查是否以root用户运行 if [ "$EUID" -ne 0 ]; then echo "请以root用户运行此脚本" exit 1 fi # 输出系统信息 echo echo "感谢使用咕噜云一键脚本" echo echo "当前系统信息:" echo "系统版本:$(cat /etc/redhat-release)" echo "系统架构:$(uname -m)" echo "内核版本:$(uname -r)" # 检查系统版本 if ! grep -q "CentOS Linux release 7" /etc/redhat-release; then echo "此脚本仅支持CentOS 7 x86_64版本" exit 1 fi # 检查系统架构 if [ "$(uname -m)" != "x86_64" ]; then echo "此脚本仅支持x86_64架构" exit 1 fi # 检测是否已安装Docker if command -v docker &> /dev/null; then installed_version=$(docker --version | awk '{print $3}' | sed 's/,//') echo echo -e "\e[32m检测到已安装的Docker版本:$installed_version\e[0m" echo read -p "是否卸载当前Docker版本并重装?(y/n): " reinstall if [[ $reinstall == "y" || $reinstall == "Y" ]]; then yum remove -y docker-ce docker-ce-cli containerd.io docker-ce-rootless-extras else echo "退出安装。" exit 0 fi fi # 替换系统源为清华源 if ! grep -q "mirrors.tuna.tsinghua.edu.cn" /etc/yum.repos.d/CentOS-Base.repo; then echo "替换系统源为清华源..." rm -f /etc/yum.repos.d/CentOS-Base.repo cat <<EOF > /etc/yum.repos.d/CentOS-Base.repo [base] name=CentOS-\$releasever - Base - Tsinghua baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/\$releasever/os/\$basearch/ gpgcheck=1 gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-\$releasever - Updates - Tsinghua baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/\$releasever/updates/\$basearch/ gpgcheck=1 gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos/RPM-GPG-KEY-CentOS-7 [extras] name=CentOS-\$releasever - Extras - Tsinghua baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/\$releasever/extras/\$basearch/ gpgcheck=1 gpgkey=https://mirrors.tuna.tsinghua.edu.cn/centos/RPM-GPG-KEY-CentOS-7 EOF yum clean all yum makecache else echo "系统源已经是清华源。" fi # 更新系统包 yum update -y # 安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 curl # 添加Docker CE仓库为清华源 if [ ! -f /etc/yum.repos.d/docker-ce.repo ] || ! grep -q "mirrors.tuna.tsinghua.edu.cn/docker-ce" /etc/yum.repos.d/docker-ce.repo; then yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo else echo "Docker源已经是清华源。" fi # 安装最新版本的Docker yum install -y docker-ce docker-ce-cli containerd.io docker-ce-rootless-extras # 启动Docker服务并设置开机自启 systemctl start docker systemctl enable docker # 验证安装 if command -v docker &> /dev/null; then docker_version_installed=$(docker --version | awk '{print $3}' | sed 's/,//') docker_path=$(which docker) echo echo -e "\e[32mDocker安装完成\e[0m" echo echo -e "\e[32m安装的Docker版本:$docker_version_installed\e[0m" echo echo -e "\e[32mDocker安装路径:$docker_path\e[0m" echo else echo "Docker安装失败。请检查日志并重试。" exit 1 fi # 配置Docker加速器 #echo "配置Docker加速器..." cat <<EOF | sudo tee /etc/docker/daemon.json > /dev/null { "registry-mirrors": ["https://i29qu8xd.mirror.aliyuncs.com"] } EOF # 重启Docker服务 systemctl daemon-reload systemctl restart docker echo -e "\e[32mDocker镜像加速器配置完成,默认使用阿里云加速域名为:https://i29qu8xd.mirror.aliyuncs.com\e[0m" echo echo -e "\e[32m安装脚本执行完毕\e[0m" echo 将脚本保存为install_docker.sh,然后赋予执行权限并运行: chmod +x install_docker.sh ./install_docker.sh 自动更换清华源进行安装 也可以直接使用脚本执行 bash <(wget -qO- giie.cn/sh/docker-centos7.sh)