Podman is a tool for building containers. It plays the same role as Docker and is largely compatible with Docker, offering mostly the same commands. This article offers resources both for developers getting started with Podman and for those seeking more advanced information.
What is Podman?
We've found the following videos and articles to be great starting points.
- In Podman: The next generation of Linux container tools, Doug Tidwell explains what Podman is and how to install the tool, build an image with it, run the image, push the image to a container registry, download the image to a non-Linux system, and run the image with Docker.
- Transitioning from Docker to Podman, one of the most popular Red Hat Developer articles about containers, uses real-world examples to show you how to install Podman, use its basic commands, and transition from the Docker command-line interface (CLI) to Podman. You'll also see how to run an existing image with Podman and how to set up port forwarding.
- In Rootless containers with Podman: The basics, Prakhar Sethi explains the benefits of using containers and Podman. The article introduces rootless containers and explains why they are important, and then walks through an example scenario to show you how to use rootless containers with Podman.
- To get some practice, see Deploying Containers with Container Tools, a short (only 10 minutes) course that will teach you how to deploy and control an already defined container image.
- If you're interested in a better way to build images and host containers locally, read Ian Lawson's introduction to Podman Desktop for developers.
Many ways to work with Podman
Podman wears many hats. Here are some resources for using it in various environments:
- Deliver your applications to edge and IoT devices in rootless containers shows you how to use
systemd, Podman, and Red Hat Ansible Automation to automate and push software as containers to small-scale edge and Internet of Things (IoT) gateway devices.
If you're in the Java world, check out Deploy Quarkus everywhere with Red Hat Enterprise Linux (RHEL) to get an overview of Quarkus, learn how to create Java native executables with and without Podman, and build application images with Podman on Red Hat Enterprise Linux. This article covers:
- Using the Red Hat build of Quarkus on Red Hat Enterprise Linux
- Running Quarkus in development mode
- Creating Java native executables with and without Podman
- Building application images with Podman on RHEL
- Working with Microcks? The article Using Podman Compose with Microcks: A cloud-native API mocking and testing tool discusses the barriers to getting Microcks to work with Podman and the design decisions made to get around them. The article includes a brief example of using Podman in rootless mode with Microcks.
- Kubernetes developers should check out Moving dev environment to production with Podman. This video shows how to move your containers from your desktop to production Kubernetes. Podman's generate-kube tool can help. The video discusses how to deploy a multitier containerized application from a Podman container, pod, or volume to Red Hat OpenShift. The video first generates a Kubernetes YAML file using Podman, and then covers the steps needed to use that YAML to move the environment from local development into OpenShift production.
- Finally, download our Podman Basics Cheat Sheet for a faster, easier experience with Podman.
More Podman resources
There's a lot more help online for using Podman. A few resources are covered in the following subsections.
- Podman: A Linux tool for working with containers and pods: This tutorial shows you how to install Podman, build an image with it, run the image with Podman, push the image to a container registry, then download the image to a non-Linux system and run it with Docker.
- Getting Started with Podman: Join intern Cedric Clyburn as he walks you through the basics of Podman. Use it to run an existing image, port forward, and build an image.
- Containerize and deploy your Node.js app using best practices and IBM Cloud Code Engine: Adopt best practices for containerizing your Node.js application using a multistage Dockerfile, a
ubi8/nodejs-14-minimalbase image, Buildah, Podman, and secure container registries. Then deploy your app container to IBM Cloud Code Engine, a fully managed Knative serverless platform that runs your containerized workloads, including web applications, microservices, event-driven functions, and batch jobs.
Red Hat articles
- Podman: Managing pods and containers in a local container runtime
- 5 Podman features to try now: This article covers five Podman options that we love to use.
Red Hat Developer topic pages
We want to hear from you about features you love in Podman and features you would like to see added. So please leave a comment on this article or reach out to us through our usual communication channels.Last updated: August 14, 2023