Why I Decided to Say Goodbye to Docker Desktop
If you work in a large enterprise, you’re likely familiar with the “worries” surrounding Docker Desktop licensing. However, the license fee is only part of the story. What really frustrated me was the amount of resources it consumes on Windows. There were times when I was only running a single Nginx instance and a lightweight database, yet RAM usage hit 3GB and the CPU fans were spinning like crazy.
Last year, while deploying a microservices system for a client, I tried moving the entire dev team over to Podman Desktop. The results were truly impressive: CPU and RAM usage dropped by about 35% compared to before. More importantly, Podman runs in rootless mode (no admin privileges required). This makes the system significantly more secure, preventing the risk of privilege escalation attacks from the container to the host machine.
3 “Game-Changing” Differences Between Podman and Docker
Before jumping into the installation, you need to understand why Podman is becoming a major trend:
- Daemonless Architecture: Docker relies on a background process (Docker Daemon) to manage everything. If this daemon hangs, your entire container setup goes down with it. Podman is different; it runs directly as independent processes, making the system more stable and lightweight.
- Rootless by default: You can run containers as a regular user. Even if a container is compromised, the attacker remains “trapped” within that user’s scope and cannot damage the OS kernel.
- The Pod Concept: As the name suggests (Pod-man), this tool supports grouping multiple containers into a Pod, similar to Kubernetes. You can test K8s configurations locally with extreme ease.
Detailed Podman Desktop Installation Guide
1. Installation on Windows (Using WSL2)
Essentially, Podman on Windows still requires a Linux environment to operate. WSL2 (Windows Subsystem for Linux) is currently the optimal choice.
Step 1: Download the .exe installer from the Podman Desktop homepage. The UI installation is quite straightforward—you can just click through the “Next” prompts until it’s finished.
Step 2: When you open the application for the first time, you need to initialize a “Podman Machine.” This is actually an ultra-lightweight virtual machine running inside WSL2.
# If you prefer using the command line, run this command:
podman machine init --cpus 2 --memory 2048
podman machine start
Hard-earned lesson: Don’t stick with the default RAM. If your machine has 16GB of RAM, feel free to allocate about 4GB to Podman so you can run multiple heavy containers without lag.
2. Installation on Linux (Ubuntu/Debian)
On Linux, Podman is truly in its element because it runs natively without needing an intermediary virtual machine.
sudo apt update
sudo apt install -y podman
For visual management, you should also install the Flatpak version of Podman Desktop. It helps you monitor logs and container resources with just a few clicks.
Hands-on: Running Your First Container
The Podman Desktop interface is very modern and shares similarities with Docker Desktop. It won’t take you more than 10 minutes to get used to it.
Option 1: Using the Graphical Interface (GUI)
- Go to the Images tab and select Pull an image.
- Enter
docker.io/library/nginx:latestand wait for it to download. - Click the Play button. In the Port Mapping section, map port
8080on your machine to port80in the container.
Option 2: Using the Command Line (CLI)
Since Podman is fully compatible with the Docker API, you can use the familiar commands. I usually set an alias to type faster:
# Quickly run an nginx container
podman run -d --name my-web -p 8080:80 nginx
# Check the status
podman ps
Access localhost:8080 in your browser; if you see the Nginx welcome page, you’ve succeeded!
Real-world Tip: Making Podman “Mimic” Docker
Many legacy scripts or tools like Jenkins still call the docker command by default. To avoid manual code changes, add this line to your .bashrc or .zshrc file:
alias docker=podman
Additionally, in the Podman Desktop Settings, enable the “Docker Compatibility” feature. It will create a symlink from the Podman socket to /var/run/docker.sock. Thanks to this, VS Code extensions or Testcontainers will run smoothly without even noticing the change.
A Standout Feature: Managing Pods
Instead of running isolated containers, Podman allows you to group them together. For example, I often run a Pod consisting of Frontend + Backend + Redis.
# Create a shared Pod
podman pod create --name my-app-stack -p 3000:3000
# Add a container to the Pod
podman run -d --pod my-app-stack --name frontend-app my-frontend-image
When located in the same Pod, containers can call each other via localhost. This is the best way to simulate a standard Kubernetes environment right on your personal machine.
Conclusion
Switching to Podman Desktop isn’t just about saving costs. It’s a smart move to optimize resources and enhance security for your computer. If your machine is sluggish because of Docker, try uninstalling it and installing Podman today. After about a week of use, you’ll notice a clear difference in performance.

