How to run Qlik Replicate in a Docker container.
This article will get you started with a Qlik Replicate Docker container and drivers for a Postgres source and target endpoint.
Prerequisites: A supported version of Qlik Replicate must be installed on the Linux host server. We installed QR November 2023.
(Step 1) Install docker on the Linux server, and make sure that it is running
(Step 2) Install or upload the Qlik Replicate installation file to the Linux server. Place this rpm file in the folder /kit. If it doesn't exist then create it.
(Step 3) Within the kit folder:
Copy the contents of /opt/attunity/replicate/addons/samples/docker/ and your Qlik Replicate rpm file into the /kit/ar_docker folder. Also copy in the Qlik Replicate installation file.
(Step 4) Prepare the docker files, run the command:
./create-dockerfile.sh
Note: If you get any warnings about the drivers, you can rename the "drivers" folder.
At this point, your ar_docker folder should look like this.
(Step 5)
In the "ar_docker" folder, run these commands which will create the "systemctl" file:
echo "ls" > systemctl
chmod u+x systemctl
(Step 6) Open the Dockerfile and add this line if it is not already there:
# Install dummy systemd
ADD systemctl /usr/sbin
Save the document.
(Step 7) Add your license file to the ar_docker folder.
I copied my license text and pasted it into a json file, then named it "license.json". It will not work if it is not named correctly.
(Step 8)
Install the three required Postgres drivers from
this article. Then add them to the ar_docker folder.
(Step 9)
Also in the ar_docker folder, create a file called odbcinst.ini or copy it from your host machine from /etc/obdcinst.ini.
In our case, we had already installed the Postgres drivers on the host machine so all we had to do was copy the odbcinst.ini file from our /etc/ directory to the ar_docker folder, and edit the highlighted line for Driver64 in order to get the drivers to work. If you did not do this, then you will have create this file manually.
Note: It might be easier to setup the drivers on your host machine first, then copy the file in.
(Step 10)
Add the following lines to the Dockerfile, and save the document.
(Step 11) Once the document is saved, run this command to build the docker image:
docker build --no-cache -t ibtqr/replicate:2023.11 .
Don't forget the period at the end "."
Note: you can rename this ("ibtqr/replicate:2023.11") to whatever you want.
(Step 12) Startup and run the docker image by running the following command:
docker run -d --name areplicatecontaineribt --hostname cdc2 -e ReplicateRestPort=3552 -p 4552:3552 -v /dockermount/data/replicate/data:/replicate/data ibtqr/replicate:2023.11
Note: Qlik Replicate on the host linux machine uses port 3552 by default. To avoid any conflict, remap the port to a number that is not in use. We mapped it to port 4552 on the host machine.
(Step 13) Once the container is running, test to see if you can access the Qlik Replicate UI using this URL syntax:
If all steps were followed correctly, then you should now have access to the GUI, and Postgres as a source and target endpoint.
(Step 14)
Enter your details and test the connection to your endpoint.
If you require assistance with this or you are having any issues please reach out to us.
Helpful Links: