easyai/start.sh
2025-06-12 14:30:03 +08:00

72 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
set -e # 发生错误时终止脚本执行
echo "==========================="
echo "🚀 开始自动安装 Docker 和 Docker Compose"
echo "==========================="
# 获取操作系统类型
OS=$(hostnamectl | grep "Operating System" | awk '{print $3}')
# Docker 安装
if command -v docker &> /dev/null; then
echo "✅ Docker 已安装,跳过安装步骤"
else
if [[ "$OS" == "Ubuntu" ]]; then
echo "📦 安装依赖 (Ubuntu)..."
sudo apt update -y
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
echo "🔑 添加 Docker GPG 密钥 (Ubuntu)..."
curl -fsSL https://mirrors.nwafu.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
echo "🌍 添加 Docker 源 (Ubuntu)..."
sudo add-apt-repository -y "deb [arch=amd64] https://mirrors.nwafu.edu.cn/docker-ce/linux/ubuntu/ $(lsb_release -cs) stable"
sudo apt-get update -y
echo "🐳 安装 Docker (Ubuntu)..."
sudo apt-get install -y docker.io
elif [[ "$OS" == "CentOS" ]]; then
echo "📦 安装依赖 (CentOS)..."
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
echo "🌍 添加 Docker 源 (CentOS)..."
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
echo "🐳 安装 Docker (CentOS)..."
sudo yum install -y docker-ce docker-ce-cli containerd.io
else
echo "❌ 未知操作系统,无法安装 Docker。"
exit 1
fi
echo "✅ 启动并设置 Docker 开机自启..."
sudo systemctl enable docker
sudo systemctl start docker
fi
# Docker Compose 安装
if command -v docker-compose &> /dev/null; then
echo "✅ Docker Compose 已安装,跳过安装步骤"
else
echo "⚙️ 安装 Docker Compose..."
# 假设 docker-compose-linux-x86_64 文件与脚本在同一目录下
sudo mv ./docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 设置权限
sudo chmod +x /usr/local/bin/docker-compose
fi
echo "📌 Docker 运行状态:"
sudo systemctl status docker --no-pager || true
echo "📌 Docker Compose 版本:"
docker-compose -v
echo "🎉 Docker 和 Docker Compose 已就绪!"
echo "🚀 启动EasyAI"
sudo docker-compose pull && sudo docker-compose up -d
echo "🎉EasyAI应用启动成功"