
Learn Podman from the ground up with hands-on guidance on images, containers, pods, networks, volumes, and multi-stage Docker files to containerize a Python app.
Explore the fundamentals of containerization and Podman, detailing its features, architecture, and building blocks. Compare Podman to Docker and learn how to navigate the Podman documentation for deeper insights.
Explore containerization by learning how containers bundle an application and its dependencies into a portable unit, leveraging operating system virtualization for consistent, isolated deployment across development, testing, and production.
Explore how containerization relies on Linux namespaces and cgroups to isolate processes, manage resources, and enable secure, independent environments, with Podman as the focal tool.
Explore Podman, a demonless, modular container manager by Red Hat with OCI compatibility. Discover rootless containers, Buildah and Scorpio integration, and runtimes like runC for secure, flexible management.
Podman architecture enables daemon-less operation, rootless containers, fork-exec model, systemd integration, a RESTful API, and automatic cgroups and namespaces for secure, reliable, usable containers.
Explore the building blocks of Podman, including images, containers, volumes, networks, and pods, and learn how the Libgpod library enables efficient container management.
Explore Podman vs Docker, highlighting Podman's daemonless, rootless architecture and Docker's daemon-based model with enhanced security implications. Compare startup speeds, Buildah integration, and pod support to manage multi-container apps.
Walk through the official Podman documentation to learn installation steps, end-to-end container commands, and pod management, including networking and pods, with desktop guidance.
Explore containerization basics, Podman features, and its building blocks, with a Docker comparison. Navigate the Podman documentation and prepare for installation in the next topic.
Install Podman on Linux, macOS, and Windows, and explore the Podman CLI through hands-on demonstrations.
Explore Podman installation methods, comparing the CLI and desktop GUI on macOS, Windows, and Linux, including Podman machine for Linux containers, pods, and Kubernetes deployments, with local kind setups.
Learn to install Podman CLI on Linux using Ubuntu 20.10+ with sudo apt-get update and sudo apt-get install podman, then verify by running podman --version in this hands-on demonstration.
Master Podman commands and syntax, including global options and help, then manage images and containers using pull, run, ps, stop, rm, and rmi, often without root access.
Demonstrates installing Podman Desktop on Mac, configuring a Podman machine, and managing containers, images, and Kubernetes-related tools via the Podman Desktop dashboard.
Install and start Podman desktop on Windows with WSL and Virtual Machine Platform, explore the GUI for containers, images, and volumes, and run an httpd web server on port 9000.
Install Podman across Linux, macOS, and Windows using the CLI and desktop tools, and practice basic Podman commands with practical examples. Next, explore container images.
Explore container images and learn essential Podman CLI commands for managing them, and understand container registries such as Docker Hub.
Explore container images as read-only templates with layers and copy-on-write, learn how Podman uses a writable container layer, and discover registries and public images on Docker Hub.
Explore container registries, focusing on Docker Hub and Quay.io, as stateless platforms that store, distribute, and manage container images with public/private repos, tags, automated builds, and security features.
Explore the Docker Hub registry to search for images and view their details and tags. Learn how to pull a specific version using tags to ensure consistency across environments.
Learn how to manage images with the Podman CLI, using the image command and commands like pull, images, tag, history, inspect, and rmi, mirroring Docker syntax.
Explore how to search, pull, tag, inspect, and prune container images with the Podman CLI, including registry configuration and layer management.
Explore container images and their layered design, learn about registries like Docker Hub for storing and sharing images, and practice managing images with the Podman CLI in a hands-on demo.
Explore how to create and manage containers with Podman, focusing on their lifecycle and CLI-based management. Practice with hands-on demonstrations to gain experience with Podman container commands and related operations.
Discover how a container image becomes a runnable Podman container, trace its life cycle from created to running to exited, and learn graceful stop, pause, and removal.
Learn to manage containers with the Podman CLI by using common commands such as run, ps -a, exec, rename, logs, inspect, stop, start, and rm to control container lifecycle.
Explore hands-on container management with Podman CLI by running, managing, and inspecting containers, detaching, publishing ports, and pruning resources with alpine and httpd examples.
Demonstrate rootless containers with Podman, showcasing per-user isolation and security advantages over root privileges. The session covers switching users and aligning the cgroup manager for consistent isolation.
Explore containers, their life cycle, and management with Podman CLI, then learn to create images using a container file.
Learn the fundamentals of container files and key instructions to build and customize container images, including creating and validating container files to tailor images for your needs.
Explore how a container file defines image creation with from, workdir, run, and cmd instructions, enabling reproducible Podman images across environments. Learn Docker file compatibility and build context concepts.
Guides beginners to build a container image with a container file using httpd alpine. Shows how to set labels, workdir, env, expose, copy index.html, and run httpd.
Validate your container file with Docker lint for syntax and best practices, then build a Podman image, exploring layers, tagging, and the dot container ignore approach.
Demonstrates creating and running a container from a custom image with podman run, inspecting the container and labels, and verifying the Apache server serves a custom index.html at port 8080.
Create and validate container files, build a custom image from them, run a container from that image, and customize container files.
Master the basics of Podman networking for rootfs and rootless containers, learn key commands to manage networks, and explore demonstrations on understanding, creating networks, and enabling container communication.
Explore podman networking basics for root and rootless containers, including slirp for netns, bridge, and macvlan setups.
Learn to manage Podman networks using key commands: Podman network list, create, inspect, rm, and prune, with a practical demonstration of these operations.
Log in as root and demonstrate Podman networking, including the default bridge, subnet 10.88.0.0/16, and creating a user-defined network to enable container communication and DNS resolution.
Compare rootless and rootful Podman networking, highlighting slirp user-mode networking versus bridge networks. See how IP allocation, DNS, and container communication emerge in a custom network like Think Next Net.
Master the fundamentals of networking in Podman, learn essential commands for managing networks, and see demonstrations for both restful and rootless containers.
Explore how volumes persist data and how to manage and mount them using the Podman CLI, with hands-on examples to solidify understanding.
Explore data storage in Podman containers, noting that containers are ephemeral and rely on a writable layer versus independent named volumes and bind mounts for persistence.
Explore how podman volumes persist data beyond container lifecycles, covering named volumes, bind mounts, and anonymous volumes, and learn mounting with --mount and default host paths like /var/lib/containers/storage/volumes.
Explore common Podman volume commands, including create, list, inspect, and rm, and learn mount options like -v and --mount for named, bind, and anonymous volumes.
Learn to create, list, inspect, and remove Podman volumes with the cli for rootless and rootful containers, view local driver storage and mount points.
Demonstrate how Podman handles container storage and data persistence with named volumes. Create an httpd container, modify index.html, and verify persistence across container removals when mounted to a volume.
Demonstrates persisting data in Podman using bind mounts by mounting host /data into the container, editing index.html on the host, and verifying changes in the container and browser.
Explore Podman storage options, focusing on Podman volumes, their types, and the processes to create, mount, and delete them. Learn to manage volumes via the CLI and ensure data persistence.
Learn to containerize a Python application by writing a container file, building, pushing to Docker Hub, and running the container, with an introduction to multi-stage builds.
Demonstrate containerizing a Django frontend and Postgres backend by creating a containerfile on Ubuntu 24.04, building a two-container setup with port 8000 and database config.
Demonstrates converting a single-stage Podman build into a multi-stage process with build and final stages, showcasing reduced image size, improved security, and easier maintenance.
Walks through creating a public repository on Docker Hub, naming the repository Nyx Academy, logging in, tagging and retagging a local image, and pushing it to docker.io.
Pulls an image from Docker Hub, creates a user-defined bridge network, and deploys a full-stack app with Postgres 15.7 and a frontend exposed on port 8000, verifying the live app.
Wrap up by detailing how to containerize a Python app, publish the image to Docker Hub, pull and run it in a container, and apply multi-stage builds.
Explore what pods are in Podman and how they are managed, introducing core concepts for beginners in this hands-on devops course.
Explore Podman pods, the smallest units that group one or more containers sharing the same network and kernel namespace, like Kubernetes pods, with an infra container to manage namespaces.
Explore managing ports and pods with Podman CLI, using port commands, pod create, pod ls, run --pod, ps, inspect, stop, start, and pod rm in a hands-on demo.
Demonstrates managing pods in Podman via the command line interface, including creating pods, running multiple containers with an infra container, inspecting status, and stopping or removing pods.
Podman is an open platform that provides tools to manage containers, images and pods. It offers the flexibility, accessibility, and security features that makes Podman an attractive option for managing containers.
What’s in this course?
This "Podman for the Absolute Beginners - Hands-On DevOps" course is designed for everyone and provides a detailed overview of Podman essentials using a systematic and hands-on approach. It delves into fundamental concepts including images, containers, volumes, networks and Pods. You will also gain hands-on proficiency in creating optimized Containerfiles or Dockerfiles for containerizing applications and learn how to run and manage multiple containers as groups using the concept of Pods. Each course topic includes lectures to clarify the concept, demonstrations to show them in action, and finally, an assignment to test your understanding and solidify your learning.
If you’re new to Podman, don’t worry—this course starts from the basics and builds on gradually to intermediate topics.
Legal Notice:
Podman is developed by Red Hat® is a registered trademarks of Red Hat, Inc. in the United States and other countries. This course is not certified, accredited, affiliated with, nor endorsed by Red Hat Inc.
Student Testimonials:
★★★★★ "nice information and hands demonstration on use of podman cli and brief overview on podman UI"
Course Structure:
Lectures
Demos
Quizzes
Assignments
Course Contents:
Introduction to Podman
Podman Vs Docker
Setting up Podman CLI and Podman Desktop
Understanding Podman Architecture
Podman Documentation
Container Images
Container Registries
Podman Containers
Building an Image with a Containerfile/Dockerfile
Networking in Podman
Volumes in Podman
Multi-Stage Containerfile/Dockerfile
Containerizing Applications (Sample Project using Python)
Pods in Podman
All sections in this course feature live demonstrations. Enrolled users are encouraged to set up their own Podman environment, engage in the exercises, and learn through hands-on experience!