Podman – let’s containerize our test boxes without Docker!

Podman is an open source Pod Manager. It is a daemonless container engine for developing, managing, and running containers. Their motto on their website is

What is Podman? Simply put: alias docker=podman

stating that Podman is 100% Docker compatible.

In Debian Linux we can install Podman from its APT repo.

root@podman:~# apt install podman
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
(...)

The installation process should not take more than a minute.

Let’s check if it was successful with checking our installed Podman version.

root@podman:~# podman --version
podman version 3.0.1

If everything was fine, we have to reboot our system.

The shutdown -r now command is our friend. Alternatively we can use reboot.

After booting into the system we have to add Docker Hub into our Podman registries. After some googling and documentation reading it’s clear that we have to edit the /etc/containers/registries.conf file. The option we will add is the unqualified-search-registries. Let’s do it as root!

root@podman:~# vim /etc/containers/registries.conf

# Add the Docker Hub
unqualified-search-registries = ["docker.io"]

Now we can search Docker Hub for images.

As an example let’s search for some Debian images.

┌──(tmolnar@podman)-[~]
└─$ podman search debian --limit 5
INDEX      NAME                                           DESCRIPTION                                      STARS   OFFICIAL  AUTOMATED
docker.io  docker.io/library/ubuntu                       Ubuntu is a Debian-based Linux operating sys...  15619   [OK]      
docker.io  docker.io/library/debian                       Debian is a Linux distribution that's compos...  4586    [OK]      
docker.io  docker.io/library/neurodebian                  NeuroDebian provides neuroscience research s...  98      [OK]      
docker.io  docker.io/bitnami/debian-base-buildpack        Debian base compilation image                    2                 [OK]
docker.io  docker.io/mirantis/debian-build-ubuntu-xenial                                                   0 

Podman has similar command line options as the Docker command line.

We can install and run containers as an ordinary user.

┌──(tmolnar@podman)-[~]
└─$ podman pull hello-world
Resolved "hello-world" as an alias (/etc/containers/registries.conf.d/shortnames.conf)
Trying to pull docker.io/library/hello-world:latest...
Getting image source signatures
Copying blob 2db29710123e done  
Copying config feb5d9fea6 done  
Writing manifest to image destination
Storing signatures
feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412
┌──(tmolnar@podman)-[~]
└─$ podman run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.
(...)

At this point we are ready to use Podman (instead of Docker) in our private lab.

Let’s automate it as much as we can!

If you have anything to share then please visit my Tom’s IT Cafe Discord Server!

Leave a comment