If you know Docker, Podman Desktop will feel familiar. Podman maintains a high level of compatibility with the Docker CLI, so your existing commands and workflows carry over, including networks. On top of that, Podman brings a concept Docker doesn't have: the pod, where containers talk to each other over localhost instead of a network, just like in Kubernetes. You can even run a pod straight from a Kubernetes YAML file with kube play .

That's handy for exercising a workload the way it will run in production, but kube play doesn't enforce Kubernetes admission or OpenShift SCC rules by itself, for that you still need a real cluster or a local one like Kind, covered later in this post. This post walks through networks, pods, and kube play , before landing on one of Podman's key differences from Docker: its rootless design.

There's a nuance worth keeping in mind though: while the podman CLI and podman machine init default to rootless, Podman Desktop's "Create a Podman machine" dialog defaults to a rootful connection instead, notably because Kind on Windows requires it . Only the binary name changes for most day-to-day commands, and if you'd rather keep typing docker , alias docker=podman gets you there too: Two things do change once you look closer: how containers get grouped together, and how "root" behaves once a container runs.

Creating a podman network in Podman Desktop looks exactly like Docker: Both containers should show as running on the Containers page, and web 's Logs tab should keep printing accepting connections and web: connected to db . Select db and web in the Containers list and delete them, then delete the my-network network from the Networks list. But a network is as far as Docker takes you. Containers stay separate processes that just happen to know each other's names, and that's not how they'll actually be grouped once they land on Kubernetes or OpenShift. Podman has something for that Docker doesn't: the pod.