stain/jena-fuseki: Apache License, version 2.0
See also: docker run stain/jena-fuseki cat /jena-fuseki/NOTICE/usr/local/openjdk-11/ in the image): GPL 2.0 with Classpath exception
See /usr/local/openjdk-11/legal/ in image/): GPL 3 and compatible licenses, see /usr/share/*/license in imageTo try out this image, try:
docker run -p 3030:3030 stain/jena-fuseki
The Apache Jena Fuseki should then be available at http://localhost:3030/
To expose Fuseki on a different port, simply modify first part of -p:
docker run -p 8080:3030 stain/jena-fuseki
To load RDF graphs, you will need to log in as the admin user. To see the
automatically generated admin password, see the output from above, or
use docker logs with the name of your container.
Note that the password is only generated on the first run, e.g. when the
volume /fuseki is an empty directory.
You can override the admin-password using the form
-e ADMIN_PASSWORD=pw123:
docker run -p 3030:3030 -e ADMIN_PASSWORD=pw123 stain/jena-fuseki
To specify Java settings such as the amount of memory to allocate for the
heap (default: 1200 MiB), set the JVM_ARGS environment with -e:
docker run -p 3030:3030 -e JVM_ARGS=-Xmx2g stain/jena-fuseki
Fuseki's data is stored in the Docker volume /fuseki within the container.
Note that unless you use docker restart or one of the mechanisms below, data
is lost between each run of the jena-fuseki image.
To store the data in a named Docker volume container fuseki-data
(recommended), create it first as:
docker run --name fuseki-data -v /fuseki busybox
Then start fuseki using --volumes-from. This allows you to later upgrade the
jena-fuseki docker image without losing the data. The command below also uses
-d to start the container in the background.
docker run -d --name fuseki -p 3030:3030 --volumes-from fuseki-data stain/jena-fuseki
If you want to store fuseki data in a specified location on the host (e.g. for
disk space or speed requirements), specify it using -v:
docker run -d --name fuseki -p 3030:3030 -v /ssd/data/fuseki:/fuseki stain/jena-fuseki
Note that the /fuseki volume must only be accessed from a single Fuseki
container at a time.
To check the logs for the container you gave --name fuseki, use:
docker logs fuseki
To stop the named container, use:
docker stop fuseki
.. or press Ctrl-C.
To restart a named container (it will remember the volume and port config)
docker restart fuseki
To use TDB v2 you can pass the environment variable with -e TDB=2
docker run -p 3030:3030 -e TDB=2 stain/jena-fuseki
If you do so, then you need to use the appropriate tdbloader2 for your data, see below for more details.
If you want to upgrade the Fuseki container named fuseki which use the data
volume fuseki-data as recommended above, do:
docker 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
You can create empty datasets at startup with:
docker run -d --name fuseki -p 3030:3030 -e FUSEKI_DATASET_1=mydataset -e FUSEKI_DATASET_2=otherdataset stain/jena-fuseki
This will create 2 empty datasets: mydataset and otherdataset.
Fuseki allows uploading of RDF datasets through the web interface and web services, but for large datasets it is more efficient to load them directly using the command line.
This docker image includes a shell script load.sh that invokes the
tdbloader
command line tool and load datasets from the docker volume /staging.
For help, try:
docker run stain/jena-fuseki ./load.sh
You will most likely want to load from a folder on the host computer by using
-v, and into a data volume that you can then use with the regular fuseki.
Before data loading, you must either stop the Fuseki container, or
load the data into a brand new dataset that Fuseki doesn't know about yet.
To stop the docker container you named fuseki:
docker stop fuseki
The example below assume you want to populate the Fuseki dataset 'chembl19'
from the Docker data volume fuseki-data (see above) by loading the two files
cco.ttl.gz and void.ttl.gz from /home/stain/ops/chembl19 on the host
computer:
docker run --volumes-from fuseki-data -v /home/stain/ops/chembl19:/staging \ stain/jena-fuseki ./load.sh chembl19 cco.ttl.gz void.ttl.gz
Tip: You might find it benefitial to run data loading from the data staging
directory in order to use tab-completion etc. without exposing the path on the
host. The ./load.sh will expand patterns like *.ttl - you might have to
use single quotes (e.g. '*.ttl') on the host to avoid them being expanded
locally.
If you don't specify any filenames to load.sh, all filenames directly under
/staging that match these GLOB patterns will be loaded:
*.rdf *.rdf.gz *.ttl *.ttl.gz *.owl *.owl.gz *.nt *.nt.gz *.nquads *.nquads.gz
load.sh populates the default graph. To populate named
graphs, see the tdbloader section below.
NOTE: If you load data into a brand new /fuseki volume, a new random
admin password will be set before you have started Fuseki.
You can either check the output of the data loading, or later override the
password using -e ADMIN_PASSWORD=pw123.
tdbloader2 for TDB2Assume you have already the container running named fuseki you can execute
docker exec -it fuseki /bin/bash -c 'tdbloader2 --loc chembl19 /staging/{cco.ttl.gz,void.ttl.gz}'
If you loaded into an existing dataset, Fuseki should find the data after (re)starting with the same data volume (see Data persistence above):
docker restart fuseki
If you created a brand new dataset, then in Fuseki go to Manage datasets,
click Add new dataset, tick Persistent and provide the database name
exactly as provided to load.sh, e.g. chembl19.
Now go to Dataset, select from the dropdown menu, and try out Info and Query.
Tip: It is possible to load a new dataset into the volume of a
running Fuseki server, as long as you don't "create" it in Fuseki before
load.sh has finished.
If you have more advanced requirements, like loading multiple datasets or named graphs, you can use tdbloader directly together with a TDB assembler file.
Note that Fuseki TDB datasets are sub-folders in /fuseki/databases/.
You will need to provide the assembler file on a mounted Docker volume together with the data:
docker run --volumes-from fuseki-data -v /home/stain/data:/staging stain/jena-fuseki \ ./tdbloader --desc=/staging/tdb.ttl
Remember to use the Docker container's data volume paths within the assembler
file, e.g. /staging/dataset.ttl instead of /home/stain/data/dataset.ttl.
If you need to modify Fuseki's configuration further, you can use the equivalent of:
docker run --volumes-from fuseki-data -it ubuntu bash
and inspect /fuseki with the shell. Remember to restart fuseki afterwards:
docker restart fuseki
### Additional JARs on Fuseki classpath
If you need to add additional JARs to the classpath, but do not want to
modify the volume /fuseki, then add the JARs to
/fuseki-extra which will be added as /fuseki/extra on start.
For any feedback or questions on Jena, Fuseki or SPARQ, please use the users@jena mailing list.
For any issues with Jena or Fuseki, feel free to raise a bug.
For any issues with the packaging in this Docker image, or its Dockerfile, please raise a pull request or issue.
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务