Deploying Containers on Docker
  • 04 Jan 2023
  • 2 Minutes to read
  • Dark
    Light

Deploying Containers on Docker

  • Dark
    Light

Article Summary

Overview

Docker may facilitate containerizing multiple independent instances for an Enterprise user. Instances may be converted to containers, and other key features such as Process Mining support containerization compatibility. Docker containers are deployed through a series of Powershell scripts.

With Docker, users may rapidly scale implementation to improve availability, performance, and hosting cost efficiency. Alternatively, users may create containers with cloud-based services such as AWS, Azure, or GCP.

 If interested in upgrading to an Enterprise license to gain features such as containerization, clustering, and multi-tenancy, contact [email protected] for further information.

Pulling a Decisions Image

  1. Locate the publicly available Decisions images on Docker Hub to create the container. Several images for different platform versions are available for a container. 
  2. Copy the desired image command for the container's platform version. This example utilizes "latest" to make a container with the most up-to-date platform version available.
  3. Run Powershell in Administrator mode. Paste the image command and run it. This may take several minutes.
  4. Once the command finishes running, open the Docker desktop app and select Images from the left column. The new image will appear on this page.

Deployment

Two or more containers cannot be started at the same time.
For containers running on a new database, start only one first so it may set up the database, After that, start other containers one at a time.


  1. Create an env.list for the container populated with all required variables and any optional variables if desired.
  2. Open Powershell as an Administrator again. Edit the following command to deploy the container, which may take several minutes.

    Like the env.list template, replace the brackets and their values with the necessary ones.
    docker run -p [host port]:[container port] --name [CONTAINER_NAME] -v C:\[FOLDER_PATH]:/opt/decisions/data --env-file="[ENVIRONMENT_FILE_PATH]" [IMAGE_NAME]

    Command ValueFunctionExample
    -p [host port]:[container port] The specified port from the host is mapped to the specified port of the container.8080:80
    --name [CONTAINERNAME]Enter the name of the new containerContain2022
    -v C:\[FolderPath]:/opt/decisions/dataEnter a preexisting or new folder name to map the container's files, logs, and LESS files. It is recommended to keep these all in the same folder.
    Contain2022
    --env-file=
    "[ENVIRONMENTFILEPATH]"
    Enter the file path where the container's env.list resides on the machine. Include the env.list file name at the end.
    This variable preserves persistent data by mapping data volume to a location on the machine.
    Since containers are Linux-based, paths for the file storage will be case-sensitive.
    C:\Docker\env.list
    [IMAGENAME]Enter the image name of the container. This will determine its platform versiondecisionscore/platform:latest
    *This image pulls the latest released image.
  3. Once complete, open the Docker desktop app and select Containers/Apps from the top left column to view the new running container. Hover over it and select Open in Browser, which will direct to the instance's login screen.

Unsupported Features

Load balancer(s) for containers should be configured with sticky session enabled. If not enabled, an error will occur.

Below is a list of currently unsupported modules and features when utilizing containers with Docker. 

  • External web services
  • Powershell Module
  • SolaceMQ Module
  • Python Module
  • R Module

For further information on Modules, visit the Decisions Forum.



Was this article helpful?