Author : HASSAN MD TAREQ | Updated : 2021/05/24

Containers 101

A container is a loosely isolated environment that allows us to build and run software packages without worrying about underlying infrastructure.
Containers decouple the application from the underlying infrastructure. This makes life easier for developers, as they can focus their efforts on writing code rather than the environment in which it will be hosted

Containerized applications deployment necessitates three categories of software:

How container works?

Container Image

OCI

LXC

Container Engine

Popular container engines

Docker and CRI-O are engines for application containers, whereas LXD is the engine for system containers and virtual machines.

Container Runtime

Docker

How Does Docker Work?

Docker packages an application and it’s dependencies in a virtual container that can run on any Linux server. Since they have all the necessary dependencies contained in a single piece of software, this is why the are called containers.

Docker is composed of the following elements:

Container registry

Docker Hub

Public repository for docker container images.

Dockerfile

See: Understanding Dockerfile

Docker Compose

See: Understanding Docker Compose

Containers vs Virtual Machines

https://docs.microsoft.com/en-us/virtualization/windowscontainers/about/containers-vs-vm