Run in Docker
This page shows how to run Xtract Universal.iQ in a Docker container.
About the Xtract Universal.iQ Container
Theobald Software provides the Xtract Universal.iQ container image in a container registry. Credentials for the registry and a 30 day demo license can be requested on Theobald Software website Download Trial.
Xtract Universal.iQ stores its configuration, logs, and other persistent data outside the container. Docker supports both host directory mounts (bind mounts) and Docker-managed volumes for this purpose. The examples on this page use bind mounts.
Because the data is stored outside the container, your connections, services, and other settings remain available even if you stop, delete, or recreate the container. When you create a new container, you can attach the same bind mounts or Docker volumes and continue using your existing configuration.
For information about the folder structure inside the container, see Container Directories.
For information about ports, see Container Ports.
Prerequisites
To run in a Docker environment, Xtract Universal.iQ requires:
- Credentials for the Theobald Software container registry and a (demo) license, see Download Trial.
- Docker Desktop.
- Administrator rights.
- Credentials for the Theobald Software container registry and a (demo) license, see Download Trial.
- Docker Engine.
- A user account with permission to run Docker commands.
Pull the Container Image
To pull the Xtract Universal.iQ image from the Theobald Software container registry:
- Start Docker Desktop / Docker Engine.
- Open a terminal, e.g., PowerShell on Windows.
-
Use the following command to log in to the Theobald Software container registry:
-
When prompted, provide your credentials. Note that the password is not displayed in the terminal when entering it.
-
Use the following command to pull the Xtract Universal.iQ image:
Pulling the image might take some time.
The Xtract Universal.iQ image is now available in Docker.
Next, prepare the volume for the Xtract Universal.iQ container.
Tip
To check if the image was pulled correctly, open Docker Desktop and go to the Images menu. Alternatively, use the docker image ls command.
Prepare the Volumes
Xtract Universal.iQ requires two directories: input/ and data/. The data/ directory stores configuration, logs, and other persistent data. The input directory is used to provide certificates and the license file to the container.
For more information, see Container Directories.
To prepare the volume and the license on Windows:
-
Create the folders
input/anddata/in a local directory of the host machine, e.g.,C:\Docker\xtract-universal-iq\:
- Ensure that the Windows user running Docker Desktop has permission to access the folders.
- Move the
XtractUniversalIqLicense.jsonlicense file into theinput/folder to apply the license.
The volume is ready to use.
Next, create the Xtract Universal.iQ container.
To prepare the volume and the license on Linux:
-
Create the folders
input/anddata/in a local directory, e.g.,/docker/xtract-universal-iq: -
Assign the required directories to the user with UID 1000, which runs Xtract Universal.iQ inside the container:
-
Move the
XtractUniversalIqLicense.jsonlicense file into theinput/folder to apply the license.
The volume is ready to use.
Next, create the Xtract Universal.iQ container.
Note
If the directories are located in the WSL Linux file system, use the Linux instructions.
Create the Container
The following docker run command creates and runs a container that uses the Xtract Universal.iQ image.
docker run `
--name xtract-universal-iq `
--network=bridge `
--restart=no `
-p 8075:8075 `
-p 8076:8076 `
-p 8077:8077 `
-p 8175:8175 `
-p 8176:8176 `
-p 8177:8177 `
--runtime=runc `
-t `
-v .\data\:/XtractUniversaliQ/data/ `
-v .\input\:/XtractUniversaliQ/input/ `
-d registry.theobald-software.com/theobald-software/xtract-universal-iq:latest `
/bin/bash
docker run \
--name xtract-universal-iq \
--network=bridge \
--restart=no \
-p 8075:8075 \
-p 8076:8076 \
-p 8077:8077 \
-p 8078:8078 \
-p 8175:8175 \
-p 8176:8176 \
-p 8177:8177 \
-p 8178:8178 \
--runtime=runc \
-t \
-v .\data\:/XtractUniversaliQ/data/ \
-v .\input\:/XtractUniversaliQ/input/ \
-d registry.theobald-software.com/theobald-software/xtract-universal-iq:latest \
/bin/bash
Alternatively, use the Docker Compose file provided below with the docker compose up command. Docker Compose stores the configuration in a YAML file. This makes the container easier to manage and modify later. For more information, see Docker Documentation: Docker Compose.
You can access the container from the browser of your host machine using http://localhost:8077/.
Next, connect Xtract Universal.iQ to an SAP source system, see SAP Connection.
Update the Container
To update Xtract Universal.iQ to a new version, load a new image and start a new container from that image. You can create the new container manually with docker run or with Docker Compose.
Note
Your configuration is stored on your host machine. When creating the new container, the configuration is mapped to the container volume. As a result, your connections, services, and other settings remain available after the update.
To update Xtract Universal.iQ:
-
Open a terminal on the host machine of the Xtract Universal.iQ container, e.g., PowerShell on Windows, and navigate to the directory that contains the volumes:
-
If necessary, log in to the Theobald Software container registry using your credentials:
-
Pull the latest Xtract Universal.iQ image:
Pulling the image might take some time.
-
After Docker loads the new image, update the container manually or with Docker Compose:
- Manual Update:
Stop and delete the existing container using the Docker Desktop UI or thedocker rm -f <container-name>command. Then create a new container, see Create the Container. - Docker Compose Update:
Run thedocker compose up --force-recreatecommand in the directory that contains the Docker Compose file to recreate the container with the new image.
- Manual Update:
- Optional: After testing the new version, delete the old image from Docker to save storage.
The container runs with the updated Xtract Universal.iQ version and your existing configuration.