The Polymathic Engineer

The Polymathic Engineer

Share this post

The Polymathic Engineer
The Polymathic Engineer
Containerization

Containerization

How to deploy and ship applications with containers. Plus a deep dive into the Docker technology.

Franco Fernando's avatar
Franco Fernando
Feb 10, 2024
∙ Paid
15

Share this post

The Polymathic Engineer
The Polymathic Engineer
Containerization
2
2
Share

Hi Friends,

Welcome to the 58th issue of the Polymathic Engineer newsletter. This week, we will talk about containerization, a well-known technology for deploying and shipping applications.

Containers are a streamlined way to package and run software applications. They allow to build an application in any programming language using any operating system (OS).

Containerized applications can run anywhere on anything and be more efficiently deployed into cloud environments.

In this article, we will analyze the concept of containers, focusing on the Docker platform, which has become the de facto standard technology.

The outline will be as follows:

  • Containers vs Virtual Machines

  • What is Docker

  • Images and Dockerfile

  • Naming and Tagging

  • Windows vs Linux Containers

  • Containers lifecycle

  • Docker Hub and Registries

  • How to persist Data

  • Networking

  • Docker Compose

Containers vs Virtual Machines

The concept of container is somehow related to the one of Virtual Machines (VM), but there are significant differences between them.

In a VM, an application lives without sharing resources. It has an entire OS, including its kernel, file system, network interfaces, etc. The VM operating system is completely separated from the one of the host, creating an execution environment that overcomes most of the drawbacks of running applications directly on the host OS.

In a container, an application has individual resources but shares core resources with others. Each container has a very small OS and uses the host OS for additional resources. Containers offer an alternative to running applications directly on the host or in a VM that can make the applications faster, more portable, and more scalable.

Here is a summary of the advantages of using containers:

  • small footprint (no more a full OS to run a single application)

  • fast startup time and reduced CPU consumption

  • high portability (all that is needed to run the application is packaged together)

  • isolation (each container has a separate slice of OS and memory)

What is Docker

Docker is a container technology that is the de facto standard in the industry. Using any system, it is very easy to have Docker installed and running as a service in just a few minutes.

This post is for paid subscribers

Already a paid subscriber? Sign in
© 2025 Franco Fernando
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share