Installing Exago BIon Docker
Requirements
This topic requires that Docker already be installed and configured on the host. Consult Docker’s official documentation for assistance with installation.
Supported Operating Systems
Exago BI currently can be installed in Docker images with the following operating systems:
See Technical Specifications topic for supported versions of Linux. Other distributions may be used, contact Exago Support for assistance. Exago does not recommend using Windows in Docker containers. If you need more information, contact Exago Support.
Best Practices and Recommendations
As each use case is different, there are several variables that contribute to decisions in the deployment of Exago in Docker containers. However, at a minimum:
- System administrators should carefully analyze their Docker resource constraints, and consider limiting access to memory and CPU time. As a best practice, do not allow Docker containers to consume all memory or CPU time on the host. System requirements for a Docker container are similar to those of a Linux virtual machine, therefore the Docker host should be setup with similar specifications. Review Considerations When Sizing an Exago System.
- Use Docker volumes to persist data such as configuration files, temp files, logs, application settings and scheduled jobs. This way, critical files are available to all containers or between container starts and stops. In some situations, such as when the Docker host is based in the cloud, volumes may not be an available option. Review the File Storage section of the Installing Exago on Azure topic and the Amazon S3 File Storage topic for cloud storage solutions in this case.
- Consider implementing the Scheduler Queue. The Scheduler Queue moves the Scheduler Service’s job files off of the container to the queue’s database. In addition, the Scheduler Queue’s design to work with services that go on and offline fits more closely with Docker’s deployment paradigm than isolated Scheduler Services.
- Consider the recommendations of the High Availability topic
- Review and implement the Security Checklist
Procedure
A general procedure for installing Exago on Docker is as follows:
- Download the Exago BI Linux Installer
- Optional: Create an Exago BI configuration file that the image file created in step 5 will use
- Optional: Create Docker volumes for persistent storage of temp files, config files, etc…
- Write a Dockerfile to create a Docker image of the Exago BI installation
- Build the image and launch containers
1. Download the Linux Installer
From the Exago Downloads Page, download the latest version of the Linux Installer. Be sure to review the Updating to the Latest Version (Potentially Breaking Changes) and Updating Recommendations topics for important information.
2. Create an Configuration File
This step is optional. With the Admin Console of an existing Exago BI installation on the same operating system and Exago BI version, a file can be created with a familiar graphical user interface. Copying this configuration file into the image can be automated, so once the container is launched the system is up and running.
Scheduler Service Configuration files can also be prepared ahead of time, then copied into the image.
3. Create Docker volumes for persistent storage
This step is optional. Depending on implementation, it may be desirable to persist storage of temporary files, configuration files, Storage Management databases or others.
For example, a cluster of Docker containers working in a web farm arrangement will need to share temporary files, even if some of the containers go offline. Additional containers will require access to the same share as they are brought up.
Review Exago BI’s Installation and Configuration documentation section and Docker’s documentation for information about the intricacies for each environment.
4. Write a Dockerfile
Consult Docker’s documentation and Exago Support for full details. Since every deployment is unique, one approach may be:
- Begin with an operating system (for example
FROM ubuntu
) - Install a web server with the OS package manager
- Download or copy the Linux installer to the image
- Install Exago with mono from the command line
- Copy the Exago configuration file created in step 2 to the image
- Set permissions on directories
- Set Application Settings if required
- Start the web server
If you need more information, contact Exago Support.
5. Build the Image from the Dockerfile
Call docker build
on the command line.
Once built, launch Docker containers from the new image as necessary.