Introduction to Apama in Docker
Below is a brief overview of Docker, however, no familiarity with Docker commands is assumed in this part of the documentation. You need to install Docker before you can make use of the Apama images. See
https://docs.docker.com/get-started/ for a more detailed overview of Docker and how to use it.
Images
Images are the base units of the Docker system, providing templates that are used to create the containers, which in turn form the running applications. Docker software runs on various operating systems and can run containers built from the Apama images.
Note:
Apama supports building images on Linux only.
Docker
Docker is a technology that allows an organization to remove the complexity of configuring and deploying software applications within the infrastructure it uses. The Docker platform achieves this by running the applications in what are called containers, which isolate the environment of an application from the deployment environment and provide tools for portability and scalability. As long as the organization infrastructure can run the Docker software, it can run the containers and consequently any applications contained in them. Use cases for Docker containers include modernization of legacy applications, migration to a cloud infrastructure, services, and continuous integration and deployment.
Docker Compose
Docker handles single containers and getting them built and deployed. It is best practice for a container to perform one role, but often systems or services are composed of multiple applications interacting with each other. Docker Compose is the method for handling multiple containers and their interdependencies. It is an application that marshals the build, deployment, and runtime characteristics of one or more containers using a configuration file to control the process.
Docker swarm
Docker allows clusters of machines running Docker to be grouped into swarms. Swarms allow the containers to be distributed and load-balanced seamlessly using the Docker command line.
Docker stack
A Docker stack deals with deployment, runtime characteristics, containers and their dependencies. This is called orchestration. A Docker stack is a group of interrelated services that share dependencies and can be orchestrated and scaled together. Similar to the swarm, a Docker command line provides a way to manage and interact with stacks.
Apama and Software AG images
Software AG has a presence on the Docker Hub image repository. Several images are available for Software AG products. The offering from Apama is an image which will run an instance of the correlator application. See
https://hub.docker.com/search?q=softwareag%2F&type=image for the published images.
Alternatively, images for several products, including Apama, may be built from an installation using scripts included in the installation.