Podman is an Open Containers Initiative (OCI)‑compliant, daemonless and rootless container tool developed by Red Hat. Unlike Docker, Podman operates without a central daemon and supports secure rootless execution, making it well‑suited for HPC environments and schedulers such as Slurm.
Podman is available on all OSC clusters. Only one version is available at any given time. To find out the current version:
podman -v
Podman is available to all OSC users.
Red Hat/Apache License 2.0
No setup is required. You can use Podman directly on all clusters.
In addition to the podman command, Podman provides a script named docker that emulates the Docker CLI by executing Podman commands. It also creates symbolic links from all Docker CLI man pages to their corresponding Podman documentation. For example,
[pitzer-login01]$ docker run busybox echo "Hello from Busybox!"... Resolved "busybox" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf) Trying to pull docker.io/library/busybox:latest... Getting image source signatures Copying blob 90b9666d4aed done | Copying config 6d3e4188a3 done | Writing manifest to image destination Hello from Busybox!
To use a GPU in a Docker container, you need to add the GPU device using the --device option.
For example, to request a GPU node with one GPU:
salloc -n 1 -G 1
After obtaining the node, you can test if the GPU device is available in a container by running:
docker run --rm --device nvidia.com/gpu=all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
If successful, the nvidia-smi command will display details about the GPU, such as model, memory usage, and driver version.