Principal differences between Docker and Podman

What are the principal differences between Docker and Podman?

This is just based off of some naive use in some of my personal projects so I am very welcome to corrections but here is my basic understanding.

At the top level (ie a users perspective) the goal of Podman is to be identical to Docker (their big selling point is alias podman=docker).

At a lower level (ie a system admins perspective) Docker is a root owned daemon so anyone trying to use it needs sudoers permissions while podman is a stand-alone binary based off of linux namespaces so theoretically any user without sudoers can use it.

This is correct. Podman aims to be a rootless / daemonless container engine for running OCI compatible containers. It also uses the same exact syntax of docker.

There’s a really good explanation on their website, https://podman.io/whatis.html

Docker does not map to the typical HPC IAM use case AT ALL but it has a huge install base and still probably is the easiest way for end users to develop containers on their laptops/desktops.

Podman provides a way for docker/OCI users to run docker containers on HPC systems in user space without any elevated privileges.

TLDR; develop using docker locally; run docker containers using podman on HPC systems (if performance isn’t a huge concern); if performance is a concern, consider using singularity