#!/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}"