This is a Docker repository for the open-source version of OpenLink Virtuoso. It is based on the "stable/7" branch, providing a stable variant of VOS v7.x as a Docker image.
This repository has two types of images: base images and deployment images.
VOS Base Image
The VOS base image (v[XYZ]-base, latest-base) provides a compiled, installed VOS binary. The installed VOS instance is available in /opt/virtuoso-opensource/.
To pull the latest version of the base image, use:
docker pull openlink/virtuoso_opensource:latest-base.
VOS Deployment Image
The VOS deployment image (v[XYZ], latest) is built from the base image and starts a VOS instance on the specified ports using the given VOS virtuoso.ini configuration file and, optionally, an existing Virtuoso database.
To pull the deployment image, use:
docker pull openlink/virtuoso_opensource:latest.
Running VOS within Docker
Initializing a new database
In order to retain changes to the Virtuoso database, the database should be held in the host file system. The database location on the host should reflect the installation directory used by the base image. Create directory /opt/virtuoso-opensource/database in the host file system and provide a virtuoso.ini configuration file.
The virtuoso.ini file of the VOS deployment image assumes the installation directory is /opt/virtuoso-opensource, with the Virtuoso HTTP server listening on port 8890 and SQL client connections made through port 1111.
Starting the VOS Docker Container
After obtaining the VOS deployment image, start the VOS container using:
sudo docker run --name vos -d -v /opt/virtuoso-opensource/database:/opt/virtuoso-opensource/database -t -p 1111:1111 -p 8890:8890 -i openlink/virtuoso_opensource:latest
If the database/ directory contains only a virtuoso.ini file, a new database will be created when the container is started for the first time. All subsequent changes to the database will be persisted to the host file system.
Using an existing database
If the database/ directory in the host file system contains an existing Virtuoso database, that database will be used by the container. Again, all subsequent changes to the database will be persisted to the host file system.