Module 1 Lesson 5: Introduction to Docker and Podman
·DevOps

Module 1 Lesson 5: Introduction to Docker and Podman

Meet the giants of the container world. Learn about the Docker ecosystem and why Podman is becoming a popular 'Rootless' and 'Daemonless' alternative of choice.

Module 1 Lesson 5: Introduction to Docker and Podman

While "Docker" is the brand name most people know, it is not the only way to run containers. Recently, Podman has emerged as a major player. This lesson explains the ecosystem and why you might choose one over the other.

1. The Docker Ecosystem

Docker is more than just a tool; it's a suite of products:

  • Docker Engine: The core technology that runs the containers.
  • Docker Desktop: A user-friendly app for Windows and Mac that includes the Engine, a GUI, and extra tools.
  • Docker Hub: The "App Store" where you can download pre-made images (e.g., official images for Python, Node.js, and Postgres).
  • Docker Compose: A tool for defining and running multi-container applications (we'll cover this in Module 5).

2. What is Podman?

Podman is an open-source container engine developed by Red Hat. Its name comes from its ability to manage "Pods" (groups of containers), a concept from Kubernetes.

The Big Difference: "Rootless" and "Daemonless"

  1. Daemonless: Docker uses a "Daemon"—a background process (service) that must always be running. If the daemon crashes, all your containers stop. Podman has no daemon; it runs containers directly.
  2. Rootless: By default, Docker requires "Root" (Administrator) privileges to run. This is a security risk. Podman was designed to be "Rootless" from Day 1, meaning a normal user can run containers safely.

3. Comparison Table

FeatureDockerPodman
Philosophy"All-in-one" PlatformModular / Security-focused
ArchitectureClient-Server (Daemon)Process-based (Daemonless)
SecurityRoot by defaultRootless by default
Aliasesdocker run ...podman run ... (They are almost identical)
GUIExcellent (Docker Desktop)Improving (Podman Desktop)

4. Which One Should You Use?

  • Use Docker if:
    • You are on Windows or Mac and want the easiest possible experience.
    • You follow online tutorials (99% use Docker commands).
    • You need a polished Graphical User Interface.
  • Use Podman if:
    • You are on Linux and care deeply about security.
    • You are preparing for the Red Hat / Kubernetes world.
    • You want to run containers without needing "Sudo" (Admin) rights.

Exercise: The Command Swap

One of the best things about Podman is that it is "CLI Compatible" with Docker.

  1. If you have a tutorial that says docker pull nginx, what would the Podman command be?
  2. Research: Look up the command alias docker=podman. What does this do? Why would a developer want to do this?
  3. Discussion: Why is "Rootless" considered a massive security advantage in a large enterprise environment?

Conclusion of Module 1

You've completed the Foundations! You know what a container is, why it's better than a VM for most tasks, and the pros and cons of Docker vs. Podman.

Next Module: We get hands-on! We'll explore the Docker Architecture and core CLI commands.

Subscribe to our newsletter

Get the latest posts delivered right to your inbox.

Subscribe on LinkedIn