72 lines
2.4 KiB
Bash
Executable File
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应用启动成功" |