Containerization

Recall that there is a third way by which we handle package management on Luria: containerization. Similar to Environment Modules and Conda environments, containerization is a way of packaging an environment into a container such that it contains the absolute bare minimum needed to run a specific set of software. Containers can be thought of as a very stripped down operating systems packaged into a little box, although that is not what they are.

Containers have their own filesystem where the software runs, and it is a snapshot of the filesystem needed for a piece of software to run. Therefore, if a container can run a piece of software now, it should be able to do so always.

Since a containerized application contains everything it needs in order to run, it is very easy to share containers with people so that they can easily run software.

Container pros:

  • Portable

  • Shareable

  • Consistent

Popular container engines:

  • Docker

  • Singularity

Last updated

Massachusetts Institute of Technology