Getting started with Podman Desktop on Windows
Learn how to install, setup, and use Podman Desktop on Windows, allowing you to manage and run containers on your Windows machine.
Podman is a popular tool for developers because of its ability to package applications into containers, making it simple to develop and scale across platforms. It's a daemonless container engine (doesn't require a daemon to be running in the background), can be used in rootless mode, and is compatible with Docker (due to the Open Container Initiative). Now with Podman Desktop, it's even easier to work with your images and containers, giving you a powerful desktop GUI that supports both Podman and Docker! We'll start off with installing Podman Desktop, enabling the Windows Subsystem for Linux (WSL) in order to launch our containers, then finally installing Podman as a container engine on Windows. While the open-source project is available on Linux & MacOS, let's take a look at how to install and use Podman Desktop on Windows.
More About Podman Desktop
With containerization becoming essential to a developer's toolkit, Podman Desktop is a container management tool to create, manage, and deploy containers on your local machine. It simplifies the configuration of containers through a graphical interface and features support for working with Pods using Podman, as well as deploying to Kubernetes environments (or local ones using Kind and Podman).
Prerequisites
In order to run Podman Desktop on your Windows system, you'll need Windows 10 or Windows 11, 6 GB of Ram, and Windows Subsystem for Linux (if you haven't already installed it, Podman Desktop will show you how).
Installing Podman Desktop on Windows
It's simple to install Podman Desktop on Windows, and while I'll show the process of installing using the Windows installer, there's also a portable executable and support for package managers like Chocolately, Scoop, and Winget.
First, head to podman-desktop.io to download Podman Desktop for Windows. You should see the Windows download page, where you can also select other downloads for Windows, but you can select the large Download Now button to go ahead and download the installer.
Now, with the .exe
installer downloaded, simply start the installer in order to install Podman Desktop, and once finished, it'll start automatically and add a handy shortcut to your Desktop. As soon as Podman Desktop starts up for the first time, we can see the supported engines (such as Podman, Docker, and Lima) as well as Kubernetes orchestrators (OpenShift Local, Kind, Developer Sandbox, and your Kubernetes cluster from a kubeconfig file).
Checking out the homepage, if you've already installed Podman to your Windows machine, you're ready to go and take advantage of what Podman Desktop has to offer! However, in my case, I haven't installed Podman as a container engine, so let's take a look at installing Podman on Windows with the guidance of Podman Desktop. We'll be instructed to enable the Virtual Machine platform, WSL, and install Podman on our machine.
Installing Podman on Windows
Let's quickly install the Podman container engine on Windows so we can get back to easily deploying and managing containers. Now on Windows, running the Podman engine requires running a Linux distribution on a virtual machine. Fortunately, Podman Desktop can easily assist you to install the Podman container engine in a Fedora distribution of Linux, powered by the Windows Subsystem for Linux. By clicking View detection checks, you can see where Podman is expected to be found on your PATH system variable, but let's go ahead and select Install on Podman Desktop to begin this process!
As the installation begins, Podman Desktop is identifying prerequisites such as needing 6 GB of RAM on your system, as well as WSL prerequisites such as admin privileges, a 64-bit version of Windows, and running Windows 10 or 11. Now, if you've already installed and are using the Window Subsystem for Linux (WSL), you'll automatically breeze past this section and be prompted to install Podman as shown later on, but let's go through the process of enabling WSL. Let's go ahead and select the option to Enable Virtual Machine Platform from Podman Desktop (you'll be prompted to open a Microsoft documentation page).
Just as shown in the Microsoft documentation page, to setup the Virtual Machine feature on your Windows system, open a Command Prompt or Powershell terminal with Administrative privileges, and run the following command:
# Enable VM Feature
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Next, return to Podman Desktop to finish the installation of WSL and install the Podman container engine. Go ahead and continue with the process by clicking Install again (you may need to restart Podman Desktop), and you’ll now see that while the Virtual Machine Platform is enabled, your last step is enabling WSL, which can be done again in the Command Prompt using the following command (and feel free to use the flag `--no-distribution` to skip installing a distribution of linux, as Podman will handle that):
# Enable WSL
wsl --install --no-distribution
Congratulations! You’ve now installed WSL and can access the power of both Windows and Linux on the same time on a Windows machine, and are now ready to install Podman back on Podman Desktop. Once we hit Install one last time from the dashboard of Podman Desktop, we can see a prompt asking us if we’d like to install the latest release of Podman to our Windows machine, and let’s select Yes.
This will auto-download the installer for Podman to your system, where you’ll have the option to install WSL if not present (although no need to, as we already did so using the Command Prompt), and once we select Install, wait a few seconds, and Close to return to Podman Desktop with Podman installed.
The last step is to initialize and start Podman on your Windows system, which is as simple as clicking the Initialize and start button on the dashboard of Podman Desktop. This is automatically installing a minimal version of Fedora, and customizing it to run Podman using the feature known as podman machine! You’ll see “Podman is initializing” on your dashboard, and after a few minutes, in addition to being able to use Podman Desktop, we’ll also be able to use the `podman` command directly from our Command Prompt or Powershell terminal (which is communicating in the background to Podman running in WSL)!
Getting Started with Podman Desktop
With Podman Desktop installed on our Windows system using Podman as a container engine, we can leverage all of Podman’s lightweight and daemon-less features as we work with images, containers, and deployment with Kubernetes. In addition, if you’ve worked with Docker Desktop, you’ll find Podman Desktop similar and intuitive, with support for it’s own plugins as well as Docker Desktop extensions. Let’s take a quick look at working with Podman Desktop and some of it’s capabilities.
Running containers with Podman Desktop
Let’s quickly use Podman Desktop to pull an Nginx image and run it as a container, which we can start to do from the Images section of Podman Desktop. Once here, we’ll can simply pull down the `nginx` image from our default container registry, which is the Docker Hub (or configure others by going to Settings -> Registries for Red Hat Quay, GitHub, Google Artifact Registry, and more).
Now with the image pulled to our local image registry, let’s run it using Podman Desktop back in the Images section by selecting the Run icon on the right-hand side of the image, where we’ll have the option to map ports (let’s map port 8080 on our host to port 80 on the container), mount volumes, and much more!
With our nginx container now running on our system, let’s select the container from the containers section and check out the logs, SSH access, and filesystem, and conveniently provided by Podman Desktop.
Wrapping Up
As shown, working with containers on your Windows machine is as simple as downloading Podman Desktop, setting up WSL on your system, and installing the Podman container engine. You can then work with images, containers, volumes, logs, pods, and more with a single desktop application. Be sure to visit podman-desktop.io to give Podman Desktop a try on your machine (or Linux and MacOS), and best of luck on your containerization journey!
FAQs
- Can I run Podman in Windows?
Yes, you can run Podman on Windows. While “Containers are Linux”, Podman also runs on Mac and Windows, where it provides a native CLI and uses a guest Linux system to launch your containers (known as a Podman machine).
- What is the difference between Podman and Podman Desktop?
Podman is a daemonless, open source, Linux native tool designed to make it easy to find, run, build, share and deploy containerized applications, where as Podman Desktop is a visual application for Windows, MacOS, and Linux, to seamlessly work with containers and Kubernetes from your local environment.
- What are the system requirements to run Podman & Podman Desktop on Windows?
Since Podman uses WSL, you need a recent release of Windows 10 or Windows 11. If you are running Windows on a VM, you must have a VM that supports nested virtualization. You can view the other prerequisites on via the Podman Desktop documentation.