daschswiss/knora-apiKnora-API 镜像为 Knora 数字人文框架(Knora Framework)的官方 API 服务组件,封装了 Knora 后端的 API 服务模块,提供标准化接口以支持数字人文研究数据的全生命周期管理。该镜像简化了 Knora API 服务的部署流程,可快速集成至现有数字人文平台或作为独立服务提供数据访问能力。
通过 docker run 命令快速启动 Knora-API 服务:
bashdocker run -d \ --name knora-api \ -p 8080:8080 \ -e DB_HOST=postgresql-host \ -e DB_PORT=5432 \ -e DB_NAME=knora \ -e DB_USER=knora_user \ -e DB_PASSWORD=secure_password \ -e JWT_SECRET=your-jwt-secret \ -v ./knora-data:/app/data \ knora/knora-api:latest
创建 docker-compose.yml 实现多容器协同(含数据库):
yamlversion: '3.8' services: knora-api: image: knora/knora-api:latest container_name: knora-api ports: - "8080:8080" environment: - DB_HOST=knora-db - DB_PORT=5432 - DB_NAME=knora - DB_USER=knora_user - DB_PASSWORD=secure_password - JWT_SECRET=your-jwt-secret - LOG_LEVEL=INFO volumes: - knora-data:/app/data depends_on: - knora-db restart: unless-stopped knora-db: image: postgres:14 container_name: knora-db environment: - POSTGRES_DB=knora - POSTGRES_USER=knora_user - POSTGRES_PASSWORD=secure_password volumes: - postgres-data:/var/lib/postgresql/data restart: unless-stopped volumes: knora-data: postgres-data:
Knora-API 镜像支持以下关键环境变量进行配置:
| 环境变量名 | 描述 | 默认值 | 必要性 |
|---|---|---|---|
DB_HOST | PostgreSQL 数据库主机地址 | - | 必需 |
DB_PORT | PostgreSQL 数据库端口 | 5432 | 可选 |
DB_NAME | Knora 数据库名称 | knora | 可选 |
DB_USER | 数据库访问用户名 | knora_user | 必需 |
DB_PASSWORD | 数据库访问密码 | - | 必需 |
JWT_SECRET | JWT 认证密钥(用于生成访问令牌) | - | 必需 |
LOG_LEVEL | 日志级别(DEBUG/INFO/WARN/ERROR) | INFO | 可选 |
API_BASE_PATH | API 服务基础路径(如 /api/v1) | /api | 可选 |
CORS_ALLOWED_ORIGINS | 允许跨域请求的源(逗号分隔) | * | 可选 |
MAX_UPLOAD_SIZE | 最大文件上传大小(如 100M) | 50M | 可选 |
通过挂载卷(如示例中的 -v ./knora-data:/app/data)持久化存储 Knora 配置文件、日志及临时数据,避免容器重启后数据丢失。
服务启动后,可通过 http://localhost:8080/api/health 验证 API 服务状态,返回 200 OK 表示服务正常运行。完整 API 文档可访问 http://localhost:8080/api/docs(基于 OpenAPI 规范)。
JWT_SECRET 为高强度密钥,并限制 CORS_ALLOWED_ORIGINS 以增强安全性。




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务