
本Docker镜像用于运行Apache Jena Fuseki,这是一个带有Web界面的SPARQL 1.1服务器,后端基于Apache Jena TDB RDF三元组存储。
有关Jena或Fuseki的使用问题,可联系jena用户列表。
不同Docker层添加的文件适用不同许可证:
/jena-fuseki):Apache License, version 2.0,详见:docker run stain/jena-fuseki cat /jena-fuseki/NOTICE/usr/local/openjdk-11/):GPL 2.0 with Classpath exception,详见镜像内/usr/local/openjdk-11/legal//目录):GPL 3及兼容许可证,详见镜像内/usr/share/*/license尝试运行镜像:
bashdocker run -p 3030:3030 stain/jena-fuseki
Apache Jena Fuseki将在 http://localhost:3030/ 可用。
如需在不同端口暴露Fuseki,修改-p的第一部分:
bashdocker run -p 8080:3030 stain/jena-fuseki
加载RDF图需以admin用户登录。首次运行时(当/fuseki卷为空目录)会自动生成管理员密码,可在容器输出或通过docker logs <容器名>查看。
可通过环境变量覆盖管理员密码:
bashdocker run -p 3030:3030 -e ADMIN_PASSWORD=pw123 stain/jena-fuseki
通过JVM_ARGS环境变量设置Java参数(默认堆内存1200 MiB):
bashdocker run -p 3030:3030 -e JVM_ARGS=-Xmx2g stain/jena-fuseki
Fuseki数据存储在容器内的/fuseki卷中。若不使用docker restart或以下机制,数据会在每次运行间丢失。
先创建数据卷容器:
bashdocker run --name fuseki-data -v /fuseki busybox
使用--volumes-from启动Fuseki(-d后台运行):
bashdocker run -d --name fuseki -p 3030:3030 --volumes-from fuseki-data stain/jena-fuseki
指定主机目录挂载(适用于磁盘空间或性能需求):
bashdocker run -d --name fuseki -p 3030:3030 -v /ssd/data/fuseki:/fuseki stain/jena-fuseki
注意:/fuseki卷同一时间只能被一个Fuseki容器访问。
查看日志:
bashdocker logs fuseki
停止容器:
bashdocker stop fuseki
重启容器(保留卷和端口配置):
bashdocker restart fuseki
通过环境变量TDB=2启用TDB v2:
bashdocker run -p 3030:3030 -e TDB=2 stain/jena-fuseki
启用后需使用tdbloader2加载数据(详见下文)。
对使用fuseki-data数据卷的容器fuseki进行升级:
bashdocker pull stain/jena-fuseki docker stop fuseki docker rm fuseki docker run -d --name fuseki -p 3030:3030 --volumes-from fuseki-data stain/jena-fuseki
启动时通过环境变量创建空数据集:
bashdocker run -d --name fuseki -p 3030:3030 -e FUSEKI_DATASET_1=mydataset -e FUSEKI_DATASET_2=otherdataset stain/jena-fuseki
将创建mydataset和otherdataset两个空数据集。
Fuseki支持通过Web界面和服务上传RDF数据集,大数据集建议通过命令行直接加载。镜像包含load.sh脚本,调用tdbloader从/staging卷加载数据。
查看帮助:
bashdocker run stain/jena-fuseki ./load.sh
加载前需停止Fuseki容器(或加载到新数据集):
bashdocker stop fuseki
示例:将主机/home/stain/ops/chembl19目录下的cco.ttl.gz和void.ttl.gz加载到fuseki-data卷的chembl19数据集:
bashdocker run --volumes-from fuseki-data -v /home/stain/ops/chembl19:/staging \ stain/jena-fuseki ./load.sh chembl19 cco.ttl.gz void.ttl.gz
提示:可使用通配符(如'*.ttl')加载多个文件,避免本地扩展需用单引号。若未指定文件名,默认加载/staging下匹配以下模式的文件:*.rdf *.rdf.gz *.ttl *.ttl.gz *.owl *.owl.gz *.nt *.nt.gz *.nquads *.nquads.gz。
对运行中的fuseki容器执行:
bashdocker exec -it fuseki /bin/bash -c 'tdbloader2 --loc chembl19 /staging/{cco.ttl.gz,void.ttl.gz}'
重启容器后Fuseki将识别数据:
bashdocker restart fuseki
在Fuseki中进入“管理数据集”,点击“添加新数据集”,勾选“Persistent”,输入与load.sh中相同的数据库名(如chembl19)。然后在“数据集”下拉菜单中选择,尝试“信息”和“查询”功能。
如需加载多数据集或命名图,可直接使用tdbloader和TDB汇编文件。Fuseki TDB数据集存储在/fuseki/databases/子目录。
示例:通过汇编文件加载:
bashdocker run --volumes-from fuseki-data -v /home/stain/data:/staging stain/jena-fuseki \ ./tdbloader --desc=/staging/tdb.ttl
汇编文件中需使用容器内路径(如/staging/dataset.ttl)。
通过以下方式检查/fuseki目录:
bashdocker run --volumes-from fuseki-data -it ubuntu bash
修改后重启容器:
bashdocker restart fuseki
如需添加JAR但不修改/fuseki卷,可将JAR放入/fuseki-extra,启动时会作为/fuseki/extra添加到类路径。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务