Containers and Virtual Machines

Last update: 06 Aug 2024 [History] [Edit]

Introduction

In many cases, you may have a different version of Linux on your development machine than the one(s) used by ATLAS, or you may even have a completely different OS (such as Windows or macOS). In this case, you might want to use a virtual machine or container to run ATLAS software.

Container vs Virtual Machine

The exact difference between a container and a virtual machine (VM) is out-of-scope for this introduction, but in very simple terms a VM emulates an entire machine down to its hardware interfaces, whilst a container only emulates the operating system. This means that a container is usually more lightweight (both in terms of disk space and also computing resources), but there are situations where it will not be possible, and/or a container will be less performant than a full VM.

In the following, you will find details on running both containers (via Docker), and VMs (via Lima).