feat(install): 检测中国网络环境并使用国内镜像安装 Docker

This commit is contained in:
严浩
2025-09-24 11:18:33 +08:00
parent 319156ea6b
commit 7af4a5efef

24
1.sh
View File

@@ -64,6 +64,24 @@ sysctl_config() {
sysctl -p sysctl -p
} }
detect_cn_network() {
local check_urls=(
"https://developers.cloudflare.com/cdn-cgi/trace"
"https://ipinfo.io"
)
for check_url in "${check_urls[@]}"; do
local response
response=$(curl -fsSL "$check_url" || true)
if echo "$response" | grep -q "CN"; then
echo "检测到中国网络环境 (来源: $check_url)"
return 0
fi
done
return 1
}
install_docker() { install_docker() {
print_green "###################" print_green "###################"
print_green "##### docker ######" print_green "##### docker ######"
@@ -74,7 +92,13 @@ install_docker() {
echo "Docker 未安装,正在安装中..." echo "Docker 未安装,正在安装中..."
if [ "$SYSTEM_TYPE" = "debian" ]; then if [ "$SYSTEM_TYPE" = "debian" ]; then
echo "在 Debian 系统上安装 Docker..." echo "在 Debian 系统上安装 Docker..."
if detect_cn_network; then
echo "使用 cloudlayer.icu 安装脚本"
curl -fsSL https://cloudlayer.icu/docker-install.sh | sh
else
echo "使用官方 Docker 安装脚本"
curl -fsSL https://get.docker.com/ | sh curl -fsSL https://get.docker.com/ | sh
fi
elif [ "$SYSTEM_TYPE" = "alpine" ]; then elif [ "$SYSTEM_TYPE" = "alpine" ]; then
echo "在 Alpine 系统上安装 Docker..." echo "在 Alpine 系统上安装 Docker..."
apk add --no-cache docker apk add --no-cache docker