Installation and setup for Docker Compose
Production DCT workloads in Docker Compose are not supported. Delphix plans to announce the depreciation of support for Docker Compose with the next release of DCT (version 13.0.0). It is highly recommended that new DCT installations be performed on Kubernetes or OpenShift.
Current Docker Compose installations may be migrated to Kubernetes or OpenShift by using the steps in the technical documentation. In-place upgrades from Docker Compose to Kubernetes or OpenShift are not supported.
Hardware requirements
The hardware requirements for Data Control Tower are listed below. In addition to these requirements, inbound port 443 must be open for API clients, and outbound port 443 to engines.
CPU: 4-Core
CPU Architecture: x86_64
Memory: 16GB
Storage: 50GB
Port: 443
Installation requirements (Docker Compose)
DCT requires Docker and Docker Compose to run, thus, Linux versions and distributions that have been verified to work with Docker are supported. To see a list of supported distributions, please reference this Docker article.
This example uses a Docker installation and is completed on an Ubuntu 20.04 VM.
To begin, uninstall any old versions of Docker.
sudo apt-get remove docker docker-engine docker.io containerd runc
Next, update the package lists and install Docker.
sudo apt-get update
sudo apt-get install docker.io
Last, install Docker Compose.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Docker-Compose is packaged with Docker engine version 20.10.15 and up.
Running Docker as non-root (optional)
To avoid prefacing the Docker command with sudo, create a Unix group called docker and add users to it. When the Docker daemon starts, it creates a Unix socket accessible by members of the Docker group. See Docker Post Installation documentation for details.
sudo groupadd docker
sudo usermod -aG docker $USER
Unpack and install DCT
Once Docker and Docker Compose are installed, DCT can be installed. Begin by downloading the latest version of the tarball from the Delphix Download site. Next, transfer the file to the Linux machine where Docker is installed. Run the following commands to extract the containers and load them into Docker (where x.0.0
should be changed to the version of DCT being installed):
tar -xzf delphix-dct-x.0.0.tar.gz
for image in *tar; do sudo docker load --input $image; done
Run DCT
To run DCT, navigate to the location of the extracted docker-compose.yaml file from the tarball and run the following command. Using -d
in the command will start up the application in the background.
sudo docker-compose up -d
Running docker ps
should show 9 containers up and running:
sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
75a9df0cae07 delphix-dct-proxy:x.0.0 "/sbin/tini -- /boot…" 7 seconds ago Up 4 seconds 0.0.0.0:443->8443/tcp delphix-dct-proxy:x.0.0
a23f4fbe0220 delphix-dct-app:x.0.0 "java -jar /opt/delp…" 7 seconds ago Up 5 seconds delphix-dct-app:x.0.0
96ba8018fa03 delphix-dct-data-library:x.0.0 "/usr/bin/tini -- ./…" 7 seconds ago Up 5 seconds delphix-dct-data-library:x.0.0
8e5b1e671acc delphix-dct-jobs:x.0.0 "/usr/bin/tini -- ./…" 7 seconds ago Up 5 seconds delphix-dct-jobs:x.0.0
96049058f025 delphix-dct-data-bookmarks:x.0.0 "/usr/bin/tini -- ./…" 7 seconds ago Up 5 seconds delphix-dct-data-bookmarks:x.0.0
20d1782cb3bb delphix-dct-ui:x.0.0 "node ./index.js" 7 seconds ago Up 5 seconds delphix-dct-ui:x.0.0
4fae43c79e8d delphix-dct-virtualization:x.0.0 "/usr/bin/tini -- ./…" 7 seconds ago Up 5 seconds delphix-dct-virtualization:x.0.0
83d7d661d8a0 delphix-dct-graphql:x.0.0 "/bin/sh -c 'BASE_UR…" 7 seconds ago Up 6 seconds delphix-dct-graphql:x.0.0
3dded474e28b delphix-dct-postgres:x.0.0 "docker-entrypoint.s…" 7 seconds ago Up 6 seconds 5432/tcp delphix-dct-postgres:x.0.0
Initial logging configuration
To restrict boundless log file generation, DCT is now shipped with default logging drivers provided with default values for max-size and max-file options, for all services in the docker-compose.yaml file.
These values can also be overwritten to correspond with the user requirement. Use the process below to modify the settings.
Open the docker-compose.yaml file.
Add the following lines in every service section below.
CODElogging: driver: "json-file" options: max-file: "5" max-size: 10m
The
driver
parameter above means the logging driver is a JSON file. For these services, a maximum of five log files (max-file
) will be retained with a size of 10MB (max-size
), after which files are overwritten.The maximum number of logs and the maximum log file size shown in 2a can be changed by updating the values for
max-file
andmax-size
.