Overview
Podman Desktop is a free, open source tool that simplifies working with containerized software applications in a local developer environment. With Podman Desktop, developers can manage containers through a graphical user interface (GUI) in their local Windows, macOS, or Linux® environments.
Podman Desktop is associated with the Podman project, a tool for container management. Red Hat is the lead contributor to the Podman and Podman Desktop open source projects.
Why work with containers and Kubernetes?
The benefits of Podman Desktop align with the benefits of working with containers. Containers package all the files an application needs to run into an image that can be deployed across different computing environments consistently and easily. Containerized applications are isolated from one another, which means an issue affecting 1 won’t affect others. A container can be stopped and restarted without needing to interrupt other containers or other services.
A containerized approach is well suited for hybrid cloud development. You can build and test an application, then expect it to function the same in your development, test, and production environments whether those environments are on premise, cloud, or multicloud.
Now, imagine using containerized services to support a big enterprise use case. It would require many different containers working together, relying on a shared pool of computing resources. Enter Kubernetes, an open source container-orchestration platform built to manage fleets of containers at scale. With containerized development and Kubernetes, software teams can support large projects while preserving rapid iteration and scalability. They can also establish container security controls as part of a continuous integration and continuous delivery (CI/CD) pipeline.
That all sounds great, but taking advantage of containers requires application teams to design and build software for Kubernetes up front. Plenty of software teams have limited experience with Kuberentes. Podman Desktop is a way developers can grow more comfortable with containers and expand their understanding of Kuberentes through hands-on experience. And Podman Desktop can help you handle ongoing, local development of containerized applications.
Podman Desktop also lets you develop in your local environment, without impacting outside resources or having to wait for your operations team to provision infrastructure.
Before we dive into more detail about Podman Desktop, let’s look at the Podman project and what it accomplishes.
Red Hat to Contribute Comprehensive Container Tools Collection to Cloud Native Computing Foundation
What is Podman?
Podman (short for pod manager) is an open source project for working with containers. It provides the foundation for Podman Desktop. Podman supports rootless containers by default, enhancing security by minimizing the need for root privileges and reducing the risk of system vulnerabilities.
Podman groups containers into pods, which run together and share resources, similar to Kuberentes pods. Podman manages these pods through a command-line interface (CLI) and the libpod library, which provides application programming interfaces (APIs) for managing containers, pods, container images, and volumes.
By default, Podman creates and supports Open Container Initiative (OCI) containers, which are designed to meet industry standards for container runtimes and formats. It also runs Docker-formatted images. Podman is a full-featured alternative to Docker―or companion to it―because the 2 are compatible.
What can you do with Podman Desktop?
With the Podman Desktop GUI, you can build, run, manage, and debug containers and pods locally on your workstation or laptop. You can run pods with or without Kubernetes, and manage multiple container engines.
Work with containers
Podman Desktop lets you pull container images from any registry. Then it provides a single unified view of your containers, with point-and-click controls to start, stop, delete, reboot, export, and deploy them. You can:
- View logs and gain shell access to a running container without leaving the Podman Desktop interface.
- Build your own container images and push them to any registry.
- Group containers into pods for your application and view unified logs for your pods.
Work with Kubernetes
Working with Podman Desktop is a great way to get familiar with Kubernetes concepts like daemonless architecture and pods, then put them into regular practice. You can:
- Prepare applications for Kubernetes deployments by generating Kubernetes instructions in YAML format.
- Test Kubernetes YAML locally before deploying to a cluster.
- Spin up a local Kubernetes cluster and test your applications.
- Push your applications to your deployment process.
Enable enterprise capabilities
Podman Desktop includes features that are helpful when working in large enterprise environments. You can configure virtual private networks (VPNs) and proxies, interact with multiple image registries, and connect and deploy to remote clusters through Red Hat® OpenShift®.
Work with bootable containers
Bootable containers embed a complete operating system within a container. With Podman Desktop’s bootc extension, you can create bootable container images in common formats for bare-metal hardware, Amazon Web Services, virtual machines, and more.
Do more with Podman Desktop extensions
You can add features to Podman Desktop with extensions. Some extensions add integrations with container-engine providers and Kubernetes providers, or enable actions, menus, configurations, and other conveniences.
Next we’ll take a look at 2 extension packs that simplify working with large language models (LLMs) and Red Hat platforms.
What is Podman AI Lab?
With the Podman AI Lab extension pack, Podman Desktop can be an entry point for experimenting with generative artificial intelligence (gen AI) applications.
Podman AI Lab provides a GUI for building, testing, and running large language model (LLM) applications in a local environment. Running LLMs locally can simplify your architecture and remove the risk of sharing sensitive data with outside AI services.
Podman AI Lab includes a catalog of recipes for common gen AI use cases, including chatbots and code generation. You can select from a curated list of open source-licensed LLMs to download and run locally. You can also set up a playground environment in just a few steps to try different LLMs.
What is the Podman Desktop Red Hat extension pack?
The Red Hat extension pack for Podman Desktop is an on-ramp to working with Red Hat platforms. If you’re developing an application to be deployed on Red Hat OpenShift, these no-cost extensions help bridge your local and production environments.
Red Hat OpenShift Local extension
Red Hat OpenShift is an enterprise application platform. Get started with it in your local environment, and learn to configure and set up a single-node Red Hat OpenShift cluster, with this extension.
Developer Sandbox for Red Hat OpenShift extension
The Developer Sandbox for Red Hat OpenShift enables a shared Red Hat OpenShift remote environment for building, testing, inspecting, debugging, and deploying applications.
Red Hat SSO extension
Red Hat’s single sign-on (SSO) technology simplifies creating and logging in to a Red Hat account. The Red Hat SSO extension lets you register for the Red Hat Developer program, access Red Hat Enterprise Linux image mode binaries, and more.
Bootc extension
Bootable containers are disk images that embed the operating system directly within a container. The bootc extension helps you differentiate bootable containers from normal containers in Podman Desktop.
What’s the difference between Podman Desktop and Docker Desktop?
The Docker company and its user community created and popularized the industry standard for container applications. Docker provides a GUI called Docker Desktop that’s available at no cost for limited use cases.
Although both are GUI tools for managing containers, Podman Desktop and Docker Desktop are distinct offerings.
The most important architectural difference between Podman and Docker is that Podman is daemonless, which brings in a key characteristic of Kubernetes: helping align local development practices to Kubernetes environments. Daemonless architecture doesn't rely on a process with root privileges to run containers, thereby making a container environment more accessible while reducing security risks. The desktop versions of Podman and Docker maintain this distinction.
Because Podman Desktop is sponsored and developed largely by Red Hat, it integrates easily with our other technologies, such as Red Hat OpenShift.
Podman is compatible with Docker, so containers you create in either platform will work on the other. You can also run Docker Desktop extensions in Podman Desktop.
How Red Hat can help
Podman Desktop helps you gain experience with containers and Kubernetes pods, and provides an on-ramp to other Red Hat technologies that support containers, including Red Hat Enterprise Linux and Red Hat OpenShift.
Red Hat Enterprise Linux is a standard for running Linux containers in enterprise environments. It allows you to easily spin up containers, manage deployment, and speed development of new applications. With portable applications and containers built on Red Hat Enterprise Linux across open hybrid cloud environments, your organization can remain agile and continue to transform as your goals evolve.
Red Hat OpenShift is a trusted, comprehensive, and consistent platform to develop, modernize, and deploy applications at scale. Built on a foundation of Kubernetes, Red Hat OpenShift assembles a complete set of services for bringing applications to market on your choice of infrastructure. With Red Hat OpenShift, developers can make new containerized applications, host them, and deploy them in the cloud with the scalability, control, and orchestration that can turn a good idea into new business quickly and easily.
The official Red Hat blog
Get the latest information about our ecosystem of customers, partners, and communities.