pdok/gokoala本镜像为基于Go语言开发的云原生OGC API服务器,旨在提供符合开放地理空间信息联盟(OGC)标准的API服务。通过容器化部署,支持在各类云环境及容器平台中快速搭建高性能、可扩展的地理空间数据服务,实现标准化的空间数据访问与共享。
作为核心服务组件,为***、企业或开发者提供标准化的地理空间数据API,支持地图显示、空间查询等基础功能。
构建跨组织、跨系统的空间数据交换枢纽,通过统一OGC API接口实现多源数据的规范化共享。
为WebGIS、移动GIS等应用提供数据支撑,处理空间查询、要素编辑、地图渲染等核心业务逻辑。
搭建标准化地理信息教学实验平台,用于OGC标准实践教学或空间数据处理研究。
通过以下命令可快速启动基础服务实例:
bashdocker run -d -p 8080:8080 --name ogc-api-server [镜像名称]:latest
说明:请将
[镜像名称]替换为实际镜像标签(如ogc-api-server:v1.0.0)
服务启动后,可通过http://localhost:8080访问API根目录,通过http://localhost:8080/swagger查看API文档。
通过环境变量可自定义服务核心参数,常用配置项如下:
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
PORT | 服务监听端口 | 8080 |
LOG_LEVEL | 日志级别(debug/info/warn/error) | info |
OGC_API_PROFILES | 启用的OGC API配置文件列表(逗号分隔) | features,tiles |
DATABASE_URL | 主数据库连接地址(PostGIS示例) | postgresql://user:pass@localhost:5432/geodb |
CORS_ALLOWED_ORIGINS | 允许的跨域请求源(*表示全部) | * |
CACHE_TTL | 数据缓存有效期(秒) | 300 |
配置示例:
bashdocker run -d \ -p 9000:9000 \ -e PORT=9000 \ -e LOG_LEVEL=debug \ -e DATABASE_URL="postgresql://admin:secret@pg-db:5432/gisdata?sslmode=disable" \ -e CORS_ALLOWED_ORIGINS="[***]" \ --name ogc-api-server \ [镜像名称]:latest
如需使用复杂配置或自定义数据源,可通过挂载配置文件实现:
config.yaml):yamlserver: port: 8080 read_timeout: 30s write_timeout: 60s ogc: profiles: - features - tiles features: max_limit: 1000 default_limit: 100 datasources: primary: type: postgis url: "postgresql://user:pass@db:5432/geodb" pool_size: 20 secondary: type: geopackage path: "/data/cities.gpkg" cache: type: redis address: "redis:6379" password: "redis-pass"
bashdocker run -d \ -p 8080:8080 \ -v ./config.yaml:/app/config.yaml \ -v ./data:/data \ # 挂载数据文件目录 --name ogc-api-server \ [镜像名称]:latest \ --config /app/config.yaml
推荐使用Docker Compose实现多组件协同部署(如配合数据库),示例配置:
yamlversion: '3.8' services: ogc-api: image: [镜像名称]:latest container_name: ogc-api-server restart: always ports: - "8080:8080" environment: - LOG_LEVEL=info - DATABASE_URL=postgresql://ogcuser:ogcpass@postgis:5432/ogcdata?sslmode=disable volumes: - ./config.yaml:/app/config.yaml depends_on: - postgis - redis postgis: image: postgis/postgis:15-3.4 container_name: ogc-postgis restart: always environment: - POSTGRES_USER=ogcuser - POSTGRES_PASSWORD=ogcpass - POSTGRES_DB=ogcdata volumes: - postgis_data:/var/lib/postgresql/data redis: image: redis:7-alpine container_name: ogc-redis restart: always volumes: - redis_data:/data command: redis-server --requirepass "redis-pass" volumes: postgis_data: redis_data:
启动服务栈:
bashdocker-compose up -d
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务