Welcome on board 🦭 Podman 👏

Start using Podman as alternative for docker ready to use and secure! let's do a try with it, here I will show you what do you need to know to start working with Podman today!

Welcome on board 🦭 Podman 👏
Photo by Nathan Dumlao / Unsplash

TL;DR

Podman is the alternative to docker, but why we will need an alternative to docker? first of all docker is great or not? well it is but... in Linux it should be executed as root, and by giving root access to docker service it makes possible in theory that maybe a container could execute malicious code in host environment, that doesn't sounds great no?

📜 Introduction to Podman

Podman is an open source tool alternative to docker, originally developed by Red Had 🔴🎩 Podman architecture is different to docker and it allows run containers as rootless user.

📥 Installing Podman in Arch Linux

you could install Podman with:

sudo pacman -S podman

after install it you should be able to execute podman container ls 🎉

🧌 Troubleshooting

Error: overlay fs

If you run into below error:

Error: kernel does not support overlay fs: 'overlay' is not supported over xfs

As me you're using xfs system, and you will need install fuse-overlayfs package as mentioned in Podman's Github issues here.

so install it with:

sudo pacman -S fuse-overlayfs

after that you will be able to get the correct output for podman container ls

Error: /dev/net/tun: No such device

As mentioned in this Github issue in Podman's repository here, a reboot should solve this error.

🎟️ Podman + Podman-Compose

For sure you will use docker-compose by luck Podman also offers podman-compose it is not required to work with Podman as podman compose command by default uses docker-compose but I would like to use podman-compose as well so let's install it with:

sudo pacman -S podman-compose

1️⃣ First lets search for a container

for search containers in docker hub you could execute below command:

podman search docker.io/node

It will brings you a list of containers in docker hub that matches with node

NAME                                   DESCRIPTION
docker.io/library/node                 Node.js is a JavaScript-based platform for s...
docker.io/library/mongo-express        Web-based MongoDB admin interface, written w...
docker.io/nodered/node-red-docker      Deprecated - older Node-RED Docker images. 
docker.io/nodered/node-red             Low-code programming for event-driven applic...
docker.io/circleci/node                Node.js is a JavaScript-based platform for s...
docker.io/cimg/node                    The CircleCI Node.js Docker Convenience Imag...

now you could run into node container with:

podman run -it docker.io/library/node

that will bring you into node container 🎉

 ~  podman run -it docker.io/node
Welcome to Node.js v21.7.2.
Type ".help" for more information.
> 

well that's all, enjoy Podman!