# Podman - Containers vs. Pods

People associate running pods with Kubernetes. And when they run containers in their development runtimes, they do not even think about the role pods could play—even in a localized runtime. Most people coming from the Docker world of running single containers do not envision the concept of running pods. - Podman: Managing pods and containers in a local container runtime

Ultimate Docker to Podman Migration Guide: It’s NOT difficult

  • Fortunately for us, Podman is described as a “drop-in replacement” for Docker. And it’s true.
  • One huge difference, however, is that we are running in a rootless environment: we don’t need to add our user to a Podman group, or use sudo when running Podman commands. (using uid=0 is the correct thing to do here inside container for mouting folder)
  • Podman on Ubuntu, for some odd reason, has no default registries included at all! An annoyance, but an easy fix.
  • Enable Containers to Run After Logout: The root user is allowed to continue running processes in the background even when not logged-in. As we will be running in a rootless environment, we don’t have the same privilege by default.
  • Restart Containers and Start on Boot: Systemd Unit files

Podman Kube Play Support

Currently, the supported Kubernetes kinds are:

  • Pod
  • Deployment
  • PersistentVolumeClaim
  • ConfigMap*
  • Secret*
  • DaemonSet

Compose

SystemD

Note: podman generate systemd is deprecated. We recommend using Quadlet files when running Podman containers or pods under systemd.

PODs

initContainers
containers
volumes - Only three volume types are supported by kube play, the hostPath, emptyDir, and persistentVolumeClaim volume types.
✅ hostname
✅ hostNetwork

Health Check

Management tools

Install

see also How To Install Podman 4 on Ubuntu 22.04

$ sudo apt-get -y install podman

podman command are closed to docker

Test that docker works

podman run hello-world

see also

see also

Written on January 30, 2023, Last update on November 7, 2023
docker k8 cgroup