Docker is a lightweight way to run almost anything on your machine. From other operating systems, to code. It is also used to deploy software and to set up an unified work environment for the developers. It is an essential tool to learn as a developer or server owner. It makes it very easy to distribute apps for homelabs, for example CasaOS is built solely on this kind of virtualization via docker containers.

How to use it for development

Let’s use it to run some python code in an isolated environment.

  1. Build a docker image. Here is an exemple of a docker image to run some python in it.
 

Docker has an engine that communicates with your Operating System’s kernel to use resources in a more intelligent way than a VM(specifically LXC). It uses thin-provisioning to allocate resources