
taccaci/geoapi本Docker镜像专注于提供开箱即用的地理空间网络服务能力,集成了主流地理空间工具链与服务组件,旨在简化地理信息系统(GIS)应用的部署流程。镜像遵循开放地理空间联盟(OGC)标准,支持多种地理数据格式与服务协议,可作为地理空间应用的核心服务节点,满足地图服务、空间分析、数据可视化等场景需求。
通过以下命令快速启动基础地理空间服务:
bashdocker run -d -p 8080:8080 --name geospatial-service geospatial-web-services:latest
服务启动后,可通过 http://localhost:8080 访问服务主页,默认提供API文档与测试界面。
镜像支持通过环境变量自定义服务参数,常用配置如下:
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
SERVICE_PORT | 服务监听端口 | 8080 |
OGC_PROTOCOLS | 启用的OGC协议(逗号分隔,如"WMS,WFS") | "WMS,WFS,WCS" |
DATA_SOURCE_URL | 主数据源连接URL(如PostGIS: postgresql://user:pass@db:5432/geodb) | 内置示例数据 |
LOG_LEVEL | 日志级别(DEBUG/INFO/WARN/ERROR) | INFO |
CORS_ALLOWED_ORIGINS | 跨域请求允许的源(逗号分隔,*表示全部) | "*" |
示例:指定数据源与端口启动
bashdocker run -d \ -p 9000:9000 \ -e SERVICE_PORT=9000 \ -e DATA_SOURCE_URL="postgresql://gisuser:gispass@postgres:5432/geodb" \ -e LOG_LEVEL=DEBUG \ --name geospatial-service \ geospatial-web-services:latest
为避免容器重启导致数据丢失,建议挂载数据卷持久化存储配置与地理数据:
bashdocker run -d \ -p 8080:8080 \ -v ./config:/app/config \ # 挂载配置文件目录 -v ./data:/app/data \ # 挂载地理数据目录 -v ./plugins:/app/plugins # 挂载自定义插件目录 --name geospatial-service \ geospatial-web-services:latest
使用docker-compose实现服务与依赖组件(如PostGIS数据库)的联动部署:
yamlversion: '3.8' services: geospatial-service: image: geospatial-web-services:latest ports: - "8080:8080" environment: - SERVICE_PORT=8080 - DATA_SOURCE_URL="postgresql://gisuser:gispass@postgres:5432/geodb" - LOG_LEVEL=INFO volumes: - ./data:/app/data depends_on: - postgres postgres: image: postgis/postgis:15-3.3 environment: - POSTGRES_USER=gisuser - POSTGRES_PASSWORD=gispass - POSTGRES_DB=geodb volumes: - postgres_data:/var/lib/postgresql/data volumes: postgres_data:
/app/config/styles 目录,服务自动加载/app/config/auth.yaml 配置API密钥或OAuth2认证(需启用 ENABLE_AUTH=true 环境变量)/app/plugins 目录,重启服务即可加载--memory=4g)CORS_ALLOWED_ORIGINS 为可信域名manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务