73 lines
2.1 KiB
Bash
Executable File
73 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Docker Compose版本检测脚本
|
|
set -e
|
|
|
|
# 颜色定义
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
echo -e "${GREEN}检测Docker Compose环境...${NC}"
|
|
|
|
# 检查Docker是否安装
|
|
if ! command -v docker &> /dev/null; then
|
|
echo -e "${RED}错误: Docker未安装${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${GREEN}Docker版本: $(docker --version)${NC}"
|
|
|
|
# 检测Docker Compose类型
|
|
COMPOSE_CMD=""
|
|
COMPOSE_TYPE=""
|
|
|
|
if docker compose version &> /dev/null; then
|
|
COMPOSE_CMD="docker compose"
|
|
COMPOSE_TYPE="插件"
|
|
echo -e "${GREEN}检测到Docker Compose插件${NC}"
|
|
echo -e "${YELLOW}版本: $(docker compose version)${NC}"
|
|
elif command -v docker-compose &> /dev/null; then
|
|
COMPOSE_CMD="docker-compose"
|
|
COMPOSE_TYPE="独立应用"
|
|
echo -e "${GREEN}检测到Docker Compose独立应用${NC}"
|
|
echo -e "${YELLOW}版本: $(docker-compose --version)${NC}"
|
|
else
|
|
echo -e "${RED}错误: Docker Compose未安装${NC}"
|
|
echo -e "${YELLOW}请安装Docker Compose插件或独立应用${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# 测试命令是否可用
|
|
echo -e "${YELLOW}测试Docker Compose命令...${NC}"
|
|
if ${COMPOSE_CMD} version &> /dev/null; then
|
|
echo -e "${GREEN}Docker Compose命令可用: ${COMPOSE_CMD}${NC}"
|
|
else
|
|
echo -e "${RED}Docker Compose命令不可用${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# 输出配置信息
|
|
echo -e "${GREEN}=== Docker Compose配置信息 ===${NC}"
|
|
echo -e "${YELLOW}类型: ${COMPOSE_TYPE}${NC}"
|
|
echo -e "${YELLOW}命令: ${COMPOSE_CMD}${NC}"
|
|
|
|
# 生成环境变量文件
|
|
cat > .compose-env << EOF
|
|
# Docker Compose环境配置
|
|
COMPOSE_CMD="${COMPOSE_CMD}"
|
|
COMPOSE_TYPE="${COMPOSE_TYPE}"
|
|
EOF
|
|
|
|
echo -e "${GREEN}已生成 .compose-env 文件${NC}"
|
|
echo -e "${YELLOW}可以在脚本中使用: source .compose-env${NC}"
|
|
|
|
# 显示使用示例
|
|
echo -e "${GREEN}=== 使用示例 ===${NC}"
|
|
echo -e "${YELLOW}启动服务: ${COMPOSE_CMD} up -d${NC}"
|
|
echo -e "${YELLOW}停止服务: ${COMPOSE_CMD} down${NC}"
|
|
echo -e "${YELLOW}查看状态: ${COMPOSE_CMD} ps${NC}"
|
|
echo -e "${YELLOW}查看日志: ${COMPOSE_CMD} logs -f${NC}"
|
|
|
|
echo -e "${GREEN}检测完成!${NC}" |