83 lines
1.8 KiB
Bash
83 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
red(){
|
|
echo -e "\033[31m$1\033[0m"
|
|
}
|
|
|
|
|
|
# 获取系统包管理器
|
|
get_package_manager(){
|
|
if command -v apt-get &> /dev/null; then
|
|
echo "apt-get"
|
|
elif command -v yum &> /dev/null; then
|
|
echo "yum"
|
|
else
|
|
echo "未知的系统包管理器"
|
|
return 1 # 返回错误状态码
|
|
fi
|
|
}
|
|
|
|
# 检查 jq 是否已安装
|
|
check_jq() {
|
|
if command -v jq >/dev/null 2>&1; then
|
|
return 0
|
|
else
|
|
echo "jq 未安装"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# 检查 Docker 是否已安装
|
|
check_docker() {
|
|
if command -v docker >/dev/null 2>&1; then
|
|
return 0
|
|
else
|
|
echo "Docker 未安装"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# 检查 docker-compose 是否已安装
|
|
check_docker_compose() {
|
|
if command -v docker-compose >/dev/null 2>&1; then
|
|
return 0
|
|
elif docker compose version >/dev/null 2>&1; then ## Docker 内置 compose 已安装
|
|
return 0
|
|
else
|
|
echo "docker-compose 未安装"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
# 安装jq
|
|
install_jq(){
|
|
local package_manager=$(get_package_manager) # 获取包管理器
|
|
if [[ -z "$package_manager" ]]; then
|
|
echo "无法识别系统包管理器"
|
|
return 1 # 无法识别包管理器
|
|
fi
|
|
|
|
if [[ "$package_manager" == "apt-get" ]]; then
|
|
sudo apt-get install -y jq
|
|
elif [[ "$package_manager" == "yum" ]]; then
|
|
sudo yum install -y jq
|
|
else
|
|
echo "未知的系统包管理器"
|
|
return 1 # 未知的包管理器
|
|
fi
|
|
}
|
|
|
|
# 安装docker
|
|
install_docker(){
|
|
echo 安装docker...
|
|
curl -fsSL https://get.docker.com | bash -s docker
|
|
}
|
|
|
|
# 安装docker-compose
|
|
install_docker_compose(){
|
|
echo 安装docker-compose...
|
|
wget -O /usr/local/bin/docker-compose https://github.com/docker/compose/releases/download/v2.29.0/docker-compose-linux-x86_64
|
|
chmod +x /usr/local/bin/docker-compose
|
|
}
|
|
|