docuteam/fuseki本镜像基于 Apache Jena Fuseki 构建,提供轻量级、高性能的 SPARQL 1.1 兼容服务器,包含 Web 管理界面(UI)。Apache Jena Fuseki 是 Apache Jena 项目的核心组件,专注于 RDF 数据的存储、查询与管理,支持 SPARQL 查询语言及更新操作,适用于语义网应用、知识图谱构建及 RDF 数据服务场景。
docker run)bashdocker run -d -p 3030:3030 --name fuseki-server stain/jena-fuseki
http://localhost:3030 访问 Web UI。bashdocker run -d \ -p 3030:3030 \ -e ADMIN_PASSWORD=mysecretpassword \ --name fuseki-server \ stain/jena-fuseki
ADMIN_PASSWORD 环境变量设置管理员密码,访问 UI 时需输入密码认证。Fuseki 数据(含数据集、配置、日志)默认存储在容器内 /fuseki 目录,需通过卷挂载实现持久化:
bashdocker run -d \ -p 3030:3030 \ -v /path/on/host/fuseki-data:/fuseki \ -e ADMIN_PASSWORD=mysecretpassword \ --name fuseki-server \ stain/jena-fuseki
/path/on/host/fuseki-data 为宿主机目录,需确保有读写权限。| 环境变量名 | 描述 | 默认值 |
|---|---|---|
ADMIN_USER | 管理员用户名 | admin |
ADMIN_PASSWORD | 管理员密码(必填,否则随机生成) | 随机字符串 |
JVM_OPTS | JVM 参数(如内存配置) | -Xmx1g |
FUSEKI_CONFIG | 自定义配置文件路径 | /fuseki/config.ttl |
TDB2_MODE | TDB2 存储模式(direct/memory) | direct |
创建 docker-compose.yml:
yamlversion: '3.8' services: fuseki: image: stain/jena-fuseki container_name: fuseki-server restart: always ports: - "3030:3030" volumes: - ./fuseki-data:/fuseki # 持久化数据目录 - ./config:/fuseki/config # 自定义配置文件(可选) environment: - ADMIN_USER=admin - ADMIN_PASSWORD=SecurePass123! - JVM_OPTS=-Xmx2g -XX:+UseG1GC # 分配 2GB 内存,启用 G1 垃圾回收器 networks: - fuseki-net networks: fuseki-net: driver: bridge
启动服务:
bashdocker-compose up -d
http://localhost:3030,登录管理员账号my_dataset),选择存储类型(如 TDB2),点击 "Create"将自定义配置文件(如 config.ttl)挂载到容器 /fuseki/config 目录,示例配置(TTL 格式):
ttl@prefix : <[***]> . @prefix fuseki: <[***]> . @prefix rdf: <[***]> . @prefix rdfs: <[***]> . @prefix tdb2: <[***]> . :service_tdb2_all rdf:type fuseki:Service ; fuseki:name "my_dataset" ; # 数据集名称(访问路径:/my_dataset) fuseki:serviceQuery "query" ; fuseki:serviceUpdate "update" ; fuseki:serviceUpload "upload" ; fuseki:serviceReadWriteGraphStore "data" ; fuseki:dataset :dataset . :dataset rdf:type tdb2:DatasetTDB2 ; tdb2:location "/fuseki/databases/my_dataset" . # 数据存储路径
通过环境变量 ADMIN_PASSWORD 设置管理员密码后,Web UI 及 SPARQL 端点将要求认证。非管理员用户可通过配置文件定义读写权限。
在配置文件中添加访问控制规则(示例):
ttl:service_tdb2_all rdf:type fuseki:Service ; # ... 其他配置 ... fuseki:authRequired "true" ; # 启用认证 fuseki:authUser "user1" ; # 允许访问的用户 fuseki:authPassword "user1Pass" . # 用户密码
stain/jena-fuseki:4.9.0)。JVM_OPTS 调整内存分配(如 -Xmx4g),并优化 TDB2 缓存配置。/fuseki 目录,避免数据丢失。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务