┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Spring Boot │ │ GeoServer │ │ PostgreSQL │
│ 应用 │───▶│ 地图服务 │───▶│ PostGIS DB │
│ (端口:8081) │ │ (端口:8080) │ │ (端口:5432) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Web前端 │ │ 客户端 │ │ 管理后台 │
│ (Leaflet) │ │ (移动APP) │ │ (管理界面) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
# 安装Docker和Docker Compose
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 克隆项目
git clone http://git.xayunmei.com/bot_ym/water-management-system.git
cd water-management-system
# 启动PostgreSQL容器
docker-compose up -d postgres
# 执行数据库初始化脚本
docker-compose exec postgres psql -U postgres -d water_management -f /docker-entrypoint-initdb.d/init-postgis.sql
# 启动GeoServer
docker-compose up -d geoserver
# 等待GeoServer启动完成
sleep 30
# 执行GeoServer配置脚本
chmod +x scripts/setup-geoserver.sh
./scripts/setup-geoserver.sh
# 编译应用
./mvnw clean package -DskipTests
# 启动应用服务
docker-compose up -d app
# 检查服务状态
docker-compose ps
# 测试API端点
curl http://localhost:8081/api/gis/map-config
curl http://localhost:8081/api/gis/devices
# 访问GeoServer管理界面
# http://localhost:8080/geoserver/web/
# 应用日志
docker-compose logs app
# GeoServer日志
docker-compose logs geoserver
# 数据库日志
docker-compose logs postgres
GeoServer无法访问
docker-compose psdocker-compose logs geoservernetstat -tlnp | grep 8080数据库连接失败
API接口无响应