Skip to main content
Skip table of contents

Installation and setup for Docker Compose

Docker Compose should only be used to deploy DCT in an evaluation/testing capacity, and production DCT workloads in Docker Compose are not fully supported.  Installations starting on Docker Compose 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.

NONE
sudo apt-get remove docker docker-engine docker.io containerd runc

Next, update the package lists and install Docker.

NONE
sudo apt-get update
sudo apt-get install docker.io

Last, install Docker Compose.

NONE
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.

NONE
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):

NONE
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.

NONE
sudo docker-compose up -d

Running docker ps should show 9 containers up and running:

NONE
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.

  1. Open the docker-compose.yaml file.

  2. Add the following lines in every service section below.

    CODE
    logging:
          driver: "json-file"
          options:
            max-file: "5"
            max-size: 10m
    1. 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.

    2. The maximum number of logs and the maximum log file size shown in 2a can be changed by updating the values for max-file and max-size.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.