Few words about containers

What is a container?

In few words, probably the most practical tool invented in software development! 

In a nutshell, it is an isolated space in your machine that will contain a virtual system (In exact words, it is a lightweight portable environment) based on a system image (an OS like ubuntu for example). Additionnaly, it can encapsulate your application and its dependencies, allowing it to run consistently across the computing environment of your choiceFor example if you have a Windows machine but you need to test your code on a specific distribution of Linux, you can recreate a container with the exact specification to run it, without the need to use another machine.

A really good way to understand the concept of container is to watch the conference of Liz Rice: 

Now that we grasp the core concept, let's take a look at one of the most popular containerization platforms: Docker.

Docker, a whale that makes a big change:

Docker allows you to create, set, and manage containers, making it easier to develop, test, and deploy applications across various environments, from development laptops to production servers.

To understand how Docker works, we need to define few concepts:

Benefits of using Dockers include:


Containers have revolutionized applications development by addressing many of the challenges associated with compatibility, consistency, and infrastructure flexibility. They have become a foundational technology in modern software development and deployment practices, hence why we need to know how to use them.

How to master Docker?

A good way to learn how to use Docker is (spoiler alert) to go through their tutorial documentation (start here). You can find their cheat sheet here. Additionnally, you can take a look at my reminder repository that condense the Docker tutorial:

To go further, you can pass the official Docker certifictation here.

© Pierre Congiu Consulting - 2023