CentOS7安装 Docker 一键安装脚本自动配置阿里云加速器

#!/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)
免责声明:
1:如非特殊说明,本站对提供的素材及源码不拥有任何权利,其版权归原著者拥有。
2:本站内容均由互联网收集整理、网友上传,并且以技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
3:本站部分收费内容仅作本站日常维护费用,若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4:请勿将源码、软件进行商业交易、转载等行为,源码、软件只为研究、学习所提供,该软件使用后发生的一切问题与本站无关。
5:站内资源如有侵犯你版权的,请来信1058364519@qq.com指出,本站将立即改正。
6:素材源码均为网络收集,不承担任何版权问题,不提供任何技术支持!
7:严重警告本站木屋模型、木屋CAD图纸、木屋效果图未经允许不得转载:凡木屋模型及CAD文章由设计师QINYUHUI设计制作,享有内容所有权,文章仅在QINYUHUI名下网站、信息平台或嘿很有内涵微博发布,未经授权违者必究!!!

MASUC » CentOS7安装 Docker 一键安装脚本自动配置阿里云加速器