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.
Availability and Restrictions
Versions
Podman is available on all OSC clusters. Only one version is available at any given time. To find out the current version:
podman -v
Access
Podman is available to all OSC users.
Publisher/Vendor/Repository and License Type
Red Hat/Apache License 2.0
Usage
Set-up
No setup is required. You can use Podman directly on all clusters.
Using Podman
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!
NVIDIA GPU support
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.