Deploying Containers on Docker
  • 24 Jun 2022
  • 2 Minutes to read
  • Dark
    Light

Deploying Containers on Docker

  • Dark
    Light

Overview

Docker may facilitate the containerization of multiple, independent instances for an Enterprise user. 

Instances may be converted to a container 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 also 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 support@decisions.com for further information.



Pulling a Decisions Image

  1. To create the container, locate the publicly available Decisions images found on Docker Hub. 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 then run the following command to deploy the container which may take several minutes.

    Similar to the env.list template, replace the brackets and their values with the necessary values.
    PowerShell
    docker run -p 8088:80 --name [CONTAINERNAME] -v C:\[EXAMPLEFOLDER]:/FileStorage -v C:[EXAMPLEFOLDER]\Less:/wwwroot/styles/Less -v C:\[EXAMPLEFOLDER]\logs:/Logs --env-file="[ENVIRONMENTFILEPATH]" [IMAGENAME]

    Command ValueFunctionExample
    --name [CONTAINERNAME]Enter the name for the new container.Example Container
    -v C:\[EXAMPLEFOLDER]:/FileStorage
    (also seen in Less and Logs values)
    Enter a preexisting or new folder name to store the container's files, logs, and Less files. It is recommended to keep these all in the same folder.
    While optional, it is highly recommended to store Less files else users will not have access to them if needed.
    ContainerStorage
    --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.
    By mapping data volume to a location on the machine, this variable preserves persistent data.
    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 version.decisionscore/platform:latest
  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 and it 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?