Podman

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.

Further Reading

Supercomputer: 
Service: 

Known Issues for Podman