This commit is contained in:
2025-11-01 16:18:57 +08:00
parent a5572a157e
commit 1117815a9a
3 changed files with 78 additions and 23 deletions

65
check-es-connection.sh Executable file
View File

@@ -0,0 +1,65 @@
#!/bin/bash
echo "=== Elasticsearch 容器连接检查 ==="
echo
# 检查 es 容器是否存在
if ! docker ps -a --format "table {{.Names}}" | grep -q "^es$"; then
echo "❌ 未找到名为 'es' 的容器"
echo "请确保 Elasticsearch 容器已创建且名称为 'es'"
exit 1
fi
echo "✓ 找到 'es' 容器"
# 检查 proxy 网络是否存在
if ! docker network ls --format "table {{.Name}}" | grep -q "^proxy$"; then
echo "❌ 未找到 'proxy' 网络"
echo "正在创建 proxy 网络..."
docker network create proxy
echo "✓ proxy 网络创建成功"
else
echo "✓ 找到 'proxy' 网络"
fi
# 检查 es 容器是否已连接到 proxy 网络
if ! docker network inspect proxy --format '{{range .Containers}}{{.Name}} {{end}}' | grep -q "es"; then
echo "⚠️ 'es' 容器未连接到 'proxy' 网络"
echo "正在连接 'es' 容器到 'proxy' 网络..."
docker network connect proxy es
echo "✓ 'es' 容器已连接到 'proxy' 网络"
else
echo "✓ 'es' 容器已连接到 'proxy' 网络"
fi
# 检查 es 容器状态
ES_STATUS=$(docker inspect es --format '{{.State.Status}}')
if [ "$ES_STATUS" = "running" ]; then
echo "✓ 'es' 容器正在运行"
else
echo "⚠️ 'es' 容器状态: $ES_STATUS"
echo "正在启动 'es' 容器..."
docker start es
echo "✓ 'es' 容器已启动"
fi
# 测试 Elasticsearch 连接
echo
echo "🧪 测试 Elasticsearch 连接..."
if docker exec es curl -s http://localhost:9200/_cluster/health > /dev/null; then
echo "✓ Elasticsearch 连接正常"
docker exec es curl -s http://localhost:9200/_cluster/health | grep -o '"status":"[^"]*"' | cut -d'"' -f4
else
echo "❌ Elasticsearch 连接失败"
echo "请检查 Elasticsearch 配置"
fi
echo
echo "=== 检查完成 ==="
echo
echo "📋 网络中的容器:"
docker network inspect proxy --format '{{range .Containers}}{{.Name}} ({{.Name}}){{end}}'
echo
echo "🚀 现在可以部署数字档案系统:"
echo " ./archive-manager.sh deploy"