
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本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添加到类路径。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。






来自真实用户的反馈,见证轩辕镜像的优质服务