Switch from Docker to Podman?

Eric ZimmermanEric Zimmerman
2 min read

I’ve been a long-time Docker user, but have been hearing some buzz about Podman recently, so decided to dive in.

Some Research

https://www.geeksforgeeks.org/podman-vs-docker/

https://betterstack.com/community/guides/scaling-docker/podman-vs-docker/

https://blog.purestorage.com/purely-educational/docker-vs-podman/

Takeaway

The combination of Docker compatibility, improved security and improved Podman Desktop licensing has me intrigued to switch.

Podman Desktop Install

I was already using WSL and Docker and using VS Code to access. A few years back, I started using Docker Desktop, but when the license went commercial, it became a barrier for professional use, so I got rid of it on my home setup as well and worked through the docker direct with WSL route.

I installed Podman Desktop on Windows 11 and followed the standard install (see https://podman-desktop.io/docs/installation/windows-install). As part of the process, it asked to create a new WSL target, named podman-machine-default. The current default image is Fedora 41, which makes sense since Redhat has podman built-in natively.

wsl -l -v

  NAME                      STATE           VERSION
* Ubuntu                    Running         2
  podman-machine-default    Running         2

First Impression: The Desktop installation worked without issue and the environment is intuitive.


 wsl -d podman-machine-default

$ cat /etc/os-release

NAME="Fedora Linux"
VERSION="41 (Container Image)"
RELEASE_TYPE=stable
ID=fedora
VERSION_ID=41
VERSION_CODENAME=""
PLATFORM_ID="platform:f41"
PRETTY_NAME="Fedora Linux 41 (Container Image)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:41"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f41/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

...

Upon some additional research, it appears that I can switch between them or use them at the same time, which is useful if I’m not sure or suspect some compatibility issues with one or the other.

  • Start a specific distro: wsl -d podman-machine-default

  • Set the default distro: wsl --set-default <distro name>

Visual Studio Code

First, a recent VSCode update changes or renames from Docker to Container Tools. Once that was installed and I changed the Docker Path from docker to podman VS Code prompted and all began to work… If I had to do it again, I’d document the exact flow.

In the end, it works just like Docker. I can attach to a running container, create a workspace and have it re-launch the container on starting the workspace.

Client Performance

From https://uptrace.dev/comparisons/podman-vs-docker

from https://uptrace.dev/comparisons/podman-vs-docker

Next Steps and Questions

  • How well does Podman desktop work when on VPN?

  • Client Performance comparison?

  • Jenkins Interface via Docker Cloud?

  • Jenkins Agent performance?

Conclusion

I am seriously considering it, but need to do some trials first. The fact that I should be able to set this up and run independent of Docker gives a path forward for derisking before making an official decision.

0
Subscribe to my newsletter

Read articles from Eric Zimmerman directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Eric Zimmerman
Eric Zimmerman

As a seasoned software engineering professional with over two decades of experience, I specialize in leading and architecting complex software projects.