Previously on Linux Courses

Containers

What is a container?

in a nutshell

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...

Container engines

These allow us to directly work
with the container abstraction

docker logo

This layer offers to us an easy and fast way
to build and deploy our containers

The future...

...if you ask Red Hat
...or Daniel J Walsh
podman logo

Why should I use Podman instead of Docker?

What the hell is a pod?

Pods are a further layer of abstraction*
which allow to group containers

*Rule #1: There is always a further layer of abstraction

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

Then the connection from service to db is internal to the pod

So, what the hell are you waiting for?

Start to use Podman

It is a drop-in replacement for Docker

alias podman=docker

Well, can we do better?

Remember rule #1?