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