askomics/virtuoso!Docker Build 。
bashdocker pull askomics/virtuoso
bash# 克隆仓库 git clone [***] cd docker-virtuoso # 构建镜像 docker build -t virtuoso .
bashdocker run --name my-virtuoso \ -p 8890:8890 -p 1111:1111 \ -e DBA_PASSWORD=myDbaPassword \ -e SPARQL_UPDATE=true \ -e DEFAULT_GRAPH=[***] \ -v /my/path/to/the/virtuoso/db:/data \ -d askomics/virtuoso
可通过DBA_PASSWORD环境变量在容器启动时设置dba用户密码。若未设置,将使用默认密码。
通过将SPARQL_UPDATE环境变量设为true,可授予SPARQL端点的SPARQL_UPDATE权限。
virtuoso.ini中的所有属性可通过环境变量配置。环境变量需以VIRT_为前缀,格式为VIRT_$SECTION_$KEY,其中$SECTION(节)和$KEY(键)区分大小写,需与virtuoso.ini中一致(采用驼峰命名)。例如,Database节下的ErrorLogFile属性应配置为VIRT_Database_ErrorLogFile=error.log。
virtuoso.ini文件将在每次容器启动时重新生成。
进入Virtuoso容器,打开ISQL并执行dump_nquads过程。导出文件将保存至/my/path/to/the/virtuoso/db/dumps。
bashdocker exec -it my-virtuoso sh isql-v -U dba -P $DBA_PASSWORD SQL> dump_nquads ('dumps', 1, ***, 1);
更多信息参见:[***]
将四元组文件(.nq,支持压缩)放入/my/path/to/the/virtuoso/db/dumps,进入容器,打开ISQL,注册并运行加载命令。
bashdocker exec -it my-virtuoso sh isql-v -U dba -P $DBA_PASSWORD SQL> ld_dir('dumps', '*.nq', '[***] SQL> rdf_loader_run();
通过查询验证加载状态(ll_state为2表示加载完成):
sqlselect * from DB.DBA.load_list;
更多信息参见:[***]
默认情况下,容器首次启动时,Virtuoso数据库目录(/my/path/to/the/virtuoso/db/toLoad)下toLoad文件夹中的所有数据将自动加载。默认图由DEFAULT_GRAPH环境变量设置,默认为http://localhost:8890/DAV。
通过ISQL接口执行以下命令创建Virtuoso备份:
bashdocker exec -i my-virtuoso mkdir -p backups docker exec -i my-virtuoso isql-v <<EOF exec('checkpoint'); backup_context_clear(); backup_online('backup_',30000,0,vector('backups')); exit; EOF
停止运行中的容器,使用新容器恢复数据库:
bashdocker run --rm -it -v path-to-your-database:/data askomics/virtuoso virtuoso-t +restore-backup backups/backup_ +configfile /data/virtuoso.ini
备份恢复完成后,新容器将退出,可重启原数据库容器。
也可通过环境变量自动恢复/data/backups目录下的备份,无需单独运行容器:
bashdocker run --name my-virtuoso \ -p 8890:8890 \ -p 1111:1111 \ -e DBA_PASSWORD=dba \ -e SPARQL_UPDATE=true \ -e BACKUP_PREFIX=backup_ \ -v path-to-your-database:/data \ -d askomics/virtuoso
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务