Running COMPAS via DockerΒΆ

Docker functionality has been added to COMPAS to reduce time and effort required to set up the COMPAS deployment environment.

Instead of having to install and configure several libraries and tools (e.g. python/pip, numpy, g++, boost, hdf5) which can vary considerably between operating systems and existing toolchains, users can instead opt to install Docker and run COMPAS with a single command.

This also gives users the ability to run COMPAS on cloud solutions like AWS EC2[1] or Google Compute Engine[2] where hundreds of cores can be provisioned without having to manually configure the environment.

Docker works by creating an isolated and standalone environment known as a container[3]. Containers can be created or destroyed without affecting the host machine or other containers (containers can still interact with each other and the host machine through mounted directories/files or exposed ports).

Containers are instances of images. An image is a pre-defined setup/environment that is instantiated when started as a container (containers are to images what objects are to classes in the OO paradigm)[4].

Containers are (almost) always run as a Linux environment. A major benefit of this is the ability to run Linux applications in a Windows or macOS environment without having to jump through hoops or have a diminished experience.

Image definitions can be defined by users (e.g. Dockerfiles); there are also standard images publicly available on dockerHub[5]

This following sections assume Docker has been installed and is running. For Windows and MacOS users, see Docker Desktop.

Footnotes