Source: sandipdas.medium.com

Containerization Best Practices
In a more simple way: Containerization is the process of packaging an application along with its required libraries, frameworks, and configuration files together so that it can be run in various computing environments efficiently In one line: Containerization is the encapsulation of an application and its required environment.

Containers allow you to package your application and its dependencies together into one succinct manifest that can be version controlled, allowing for easy replication of your application across developers on your team and machines in your cluster.

This increases the size of your container and is less efficient from an I/O perspective than using volumes or bind mounts, instead of store data in external data storage e.g volumes in docker

Because a container is designed to have the same lifecycle as the app it hosts, each of your containers should contain only one app.

Related Articles