Docker经常遇到下载慢、源不通的问题。这个一键安装脚本,可以自动识别网络环境,替换apt 源,Docker CE 源,并配置 Docker镜像加速器。1️⃣ 脚本功能概览
这个脚本可以帮你实现:
-
1. 自动检测网络环境(国内/国外)。 -
2. 自动替换 apt 源(国内换清华源)。 -
3. 自动选择 Docker CE 官方源或 阿里云 Docker CE 源。 -
4. 自动配置 Docker 镜像加速器(DaoCloud、网易、ISCAS、腾讯云等)。 -
5. 一键完成 Docker 安装,并启动服务。
简单流程图示意:
检测网络环境 → 替换 apt 源 → 选择 Docker CE 源 → 安装 Docker → 配置镜像加速
2️⃣ 脚本逻辑拆解
检测网络环境
通过 ping Docker Hub 判断是否在国内环境:
bashis_china() {
if ping -c 1 -W 1 registry-1.docker.io >/dev/null 2>&1; then
return 1
else
return 0
fi
}
检测系统类型
读取 /etc/os-release,自动识别 Ubuntu 或 Debian:
bashcheck_os() {
if [ -f /etc/os-release ]; then
. /etc/os-release
OS=$ID
VERSION=$VERSION_ID
else
echo "无法检测系统版本"
exit 1
fi
}
3️⃣ 脚本中的三层“源”优化
安装 Docker 时,涉及到 三个层面的源,脚本已自动优化:
🔄 1. apt 源(系统软件源)
-
• 作用:用于 apt-get update、apt-get install时的软件包下载 -
• 脚本逻辑:国内环境下,替换成 清华 Tuna 源 bashuse_china_mirrors() { echo "检测到国内环境,使用国内 apt 源..." if [[ $OS == "ubuntu" ]]; then sed -i 's|http://.*.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list sed -i 's|http://security.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list elif [[ $OS == "debian" ]]; then sed -i 's|http://deb.debian.org|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list sed -i 's|http://security.debian.org|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list fi }
-
好处:国内网络系统软件安装更快、更稳定。
🐳 2. Docker CE 安装源
-
• 作用:安装 Docker 本身 -
• 脚本逻辑:国内使用 阿里云 Docker CE 源,国外使用官方源
-
-
bashif is_china; then echo "检测到国内环境,使用阿里云 Docker CE 源..." curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/$OS/gpg | gpg --dearmor --yes --batch -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://mirrors.aliyun.com/docker-ce/linux/$OS $(lsb_release -cs) stable" \ | tee /etc/apt/sources.list.d/docker.list > /dev/null else echo "使用官方 Docker CE 源..." curl -fsSL https://download.docker.com/linux/$OS/gpg | gpg --dearmor --yes --batch -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://download.docker.com/linux/$OS $(lsb_release -cs) stable" \ | tee /etc/apt/sources.list.d/docker.list > /dev/null fi
- 好处:Docker 安装快速,避免国内官方源下载慢的问题。
-
3. Docker 镜像加速器
-
• 作用:拉取镜像加速 -
• 脚本逻辑:写入 /etc/docker/daemon.json,配置多个国内镜像加速器
-
-
bashsetup_china_mirror() { echo "配置 Docker 国内镜像加速..." mkdir -p /etc/docker cat > /etc/docker/daemon.json <<EOF { "registry-mirrors": [ "https://docker.m.daocloud.io", "https://hub-mirror.c.163.com", "https://mirror.iscas.ac.cn", "https://ccr.ccs.tencentyun.com" ] } EOF systemctl daemon-reexec systemctl restart docker }好处:镜像下载速度大幅提升。
-
4️⃣ 安装方法
脚本已经放到
Gitee上,可以直接通过wget下载使用。 -
wget https://gitee.com/Lying02008/awesome-scripts/raw/master/docker_install.sh -O docker-install.sh chmod +x docker-install.sh sudo ./docker-install.sh安装成功后,会自动回显Docker和Docker Compose的版本:
-
docker --version docker compose version5️⃣ 总结
这个一键安装脚本能帮你在国内外不同网络环境下,自动安装Docker,配置国内镜像加速。
💡 小贴士:
-
• apt 源 → 系统包更新安装更快 -
• Docker CE 源 → Docker 安装更快 -
• 镜像加速器 → 拉取镜像加速
-