3. User Environment Customization/Virtualization on Metis

Podman + Docker vs Singularity/Apptainer + Docker vs Conda vs Modulefiles

Metis provides several technologies to encapsulate environments and manage software dependencies. Each of these tools—Podman, Docker, Singularity/Apptainer, Conda, and Modulefiles—has different strengths and weaknesses, depending on your use case.

Any technology marked with a "⭐" is a strong candidate in its given feature.

Comparison Chart

FeaturePodman + DockerSingularity/ApptainerCondaModulefiles
Use Case⭐ General development, CI/CD, image availability⭐ HPC environments, scientific computingManaging isolated software environmentsDynamic loading of software on HPC clusters
Image/Package Repository⭐ Docker Hub (extremely large and varied)Smaller ecosystem, focus on reproducibilityAnaconda repository
(⭐ only if using Python or R)
Pre-installed software for the HPC cluster
SecurityRootless operation (Podman)⭐ High security in multi-user environmentsNo OS-level isolation⭐ Tied to user permissions on HPC
Integration with HPCLimited, requires configOptimized for HPC environmentsLimited, not designed for HPCNative integration with HPC systems
Ease of Use in HPCVery easy, but requires some minimal configurationTedious but straightforward to work withSimple for general use (but not HPC-optimized)⭐ Extremely easy to use, but requires cluster-specific knowledge