We can think to containers as a way to isolate a set of programs from the rest of the system
This offers us an extremely powerful tool to deal with several issues we could meet
Containers are built on the namespaces Linux feature
But it is a low level API, and it is not thought
to be used to manually build containers
Containers are really layered stuff,
generally we only deal with the higher layer...
These allow us to directly work
with the container abstraction
This layer offers to us an easy and fast way
to build and deploy our containers
Pods are a further layer of abstraction*
which allow to group containers
Containers in the same pod share IPC, network, PID namespaces and cgroups
This can potentially simplify a lot the interconnections between containers
An example:
A service and its db can be deployed in two separate containers but in the same pod
It is a drop-in replacement for Docker
alias podman=docker