Akin to a Virtual Machine, this is a lightweight, packaged set of software which can include familiar tools such as Bash, gcc, Python as well as application code. Developed to allow a self-contained environment for running applications without the weight of a Virtual Machine; in particular, Operating System kernel functionality is provided by the Operating System of the host computer. Docker is a particularly popular containerization technology, but others exist such as Singularity (Singularity can be deployed on conventional shared High Performance Computing resources, unlike Docker).