80 lines
2.3 KiB
Bash
80 lines
2.3 KiB
Bash
#!/bin/bash
|
|
# Mac Mini Docker应用发现脚本
|
|
|
|
set -e
|
|
|
|
echo "🔍 开始扫描Mac Mini上的Docker应用..."
|
|
echo "======================================"
|
|
|
|
# 1. 查找所有docker-compose文件
|
|
echo "📁 查找docker-compose文件..."
|
|
COMPOSE_FILES=$(find ~ -name "docker-compose.yml" -o -name "docker-compose.yaml" 2>/dev/null | grep -v "node_modules" | grep -v ".git" | head -20)
|
|
|
|
if [ -z "$COMPOSE_FILES" ]; then
|
|
echo "❌ 未找到docker-compose文件"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ 找到 $(echo "$COMPOSE_FILES" | wc -l) 个docker-compose文件"
|
|
|
|
# 2. 分析每个docker-compose文件
|
|
echo ""
|
|
echo "📊 分析Docker Compose项目..."
|
|
echo "--------------------------------------"
|
|
|
|
for file in $COMPOSE_FILES; do
|
|
dir=$(dirname "$file")
|
|
project_name=$(basename "$dir")
|
|
|
|
echo "项目: $project_name"
|
|
echo "路径: $dir"
|
|
|
|
# 检查是否有正在运行的服务
|
|
cd "$dir" 2>/dev/null && docker compose ps --services 2>/dev/null | while read service; do
|
|
status=$(cd "$dir" && docker compose ps $service 2>/dev/null | grep $service)
|
|
if echo "$status" | grep -q "Up"; then
|
|
echo " ✅ $service: 运行中"
|
|
else
|
|
echo " ⏸️ $service: 未运行"
|
|
fi
|
|
done
|
|
|
|
echo "--------------------------------------"
|
|
done
|
|
|
|
# 3. 检查正在运行的独立容器
|
|
echo ""
|
|
echo "🐳 检查独立Docker容器..."
|
|
echo "--------------------------------------"
|
|
docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}" | head -10
|
|
|
|
# 4. 建议的目录结构
|
|
echo ""
|
|
echo "🏗️ 建议的Docker项目目录结构:"
|
|
echo "--------------------------------------"
|
|
echo "建议创建: ~/docker-projects/"
|
|
echo "├── openclaw/"
|
|
echo "│ └── docker-compose.yml"
|
|
echo "├── postgres/"
|
|
echo "│ └── docker-compose.yml"
|
|
echo "└── redis/"
|
|
echo " └── docker-compose.yml"
|
|
echo ""
|
|
echo "这样便于统一管理Mac Mini上的Docker应用"
|
|
|
|
# 5. 更新建议
|
|
echo ""
|
|
echo "🎯 更新docker-apps.yaml的建议:"
|
|
echo "--------------------------------------"
|
|
echo "在apps部分添加:"
|
|
echo ""
|
|
echo " openclaw:"
|
|
echo " path: ~/docker-projects/openclaw"
|
|
echo " server: macmini"
|
|
echo " description: OpenClaw网关服务"
|
|
echo " discovered: $(date +%Y-%m-%d)"
|
|
echo ""
|
|
echo "然后运行配置编辑工具测试连接"
|
|
|
|
echo ""
|
|
echo "✅ 扫描完成!" |