0
0

entrypoint.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/bin/bash
  2. set -e
  3. echo "========================================="
  4. echo "等待依赖服务就绪..."
  5. echo "========================================="
  6. # 等待 MySQL 就绪
  7. echo "等待 MySQL 启动..."
  8. until python -c "import os, pymysql; pymysql.connect(host='mysql', port=3306, user='root', password=os.getenv('MYSQL_ROOT_PASSWORD', 'change_me_root_password'), database=os.getenv('MYSQL_DATABASE', 'enterprise_kb'))" 2>/dev/null; do
  9. echo "MySQL 未就绪,等待中..."
  10. sleep 3
  11. done
  12. echo "✓ MySQL 已就绪"
  13. # 等待 Redis 就绪
  14. echo "等待 Redis 启动..."
  15. until python -c "import redis; r = redis.Redis(host='redis', port=6379); r.ping()" 2>/dev/null; do
  16. echo "Redis 未就绪,等待中..."
  17. sleep 2
  18. done
  19. echo "✓ Redis 已就绪"
  20. # 等待 Milvus 就绪
  21. echo "等待 Milvus 启动..."
  22. until python -c "from pymilvus import connections; connections.connect(host='milvus', port=19530)" 2>/dev/null; do
  23. echo "Milvus 未就绪,等待中..."
  24. sleep 5
  25. done
  26. echo "✓ Milvus 已就绪"
  27. echo "========================================="
  28. echo "所有依赖服务已就绪,启动应用..."
  29. echo "========================================="
  30. # 启动应用
  31. exec python app.py