#!/bin/bash export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:$PATH source <(curl -f -s --connect-timeout 10 --retry 3 https://dl.cdn.haozi.net/panel/public.sh) if [ $? -ne 0 ]; then echo "下载 public.sh 失败,请检查网络或稍后重试。" echo "Download public.sh failed, please check the network or try again later." exit 1 fi channel=${1} version=${2} in_china=$(curl --retry 2 -m 10 -L https://www.qualcomm.cn/cdn-cgi/trace 2>/dev/null | grep -qx 'loc=CN' && echo "true" || echo "false") if [ ${OS} == "rhel" ]; then dnf makecache -y dnf remove -y docker* containerd.io podman* runc elif [ ${OS} == "debian" ] || [ ${OS} == "ubuntu" ]; then apt-get update apt-get remove -y docker* containerd.io podman* runc apt-get autoremove -y else error "不支持的操作系统" fi if ${in_china}; then bash <(curl -f -s --connect-timeout 10 --retry 3 https://linuxmirrors.cn/docker.sh) --source mirrors.tencent.com/docker-ce --source-registry docker.1ms.run --protocol https --install-latested true --close-firewall false --ignore-backup-tips --pure-mode else bash <(curl -f -s --connect-timeout 10 --retry 3 https://linuxmirrors.cn/docker.sh) --source download.docker.com --source-registry docker.1ms.run --protocol https --install-latested true --close-firewall false --ignore-backup-tips --pure-mode # 海外不需要镜像加速 echo "" >/etc/docker/daemon.json sleep 3 systemctl restart docker fi if [ $? -ne 0 ]; then if [ ${OS} == "rhel" ]; then dnf install -y docker if [ $? -ne 0 ]; then error "docker 安装失败" fi systemctl enable --now docker else error "不支持的操作系统" fi fi # 创建编排目录 mkdir -p ${setup_path}/server/compose panel-cli app write docker ${channel} ${version} echo -e ${HR} echo "安装完成" echo -e ${HR}