Maintaining Open Source Singularity Since 2017
NVIDIA HPC Container Maker (HPCCM)
By Adam Hughes
HPC Container Maker (HPCCM) generates container specification files, either Dockerfiles or Singularity recipe files, based on a “recipe.” A recipe specifies the series of steps to be performed when building a container. The recipe format is described elsewhere. Recipes provide more portable, higher level building blocks that separate the concerns of choosing what to include in a container from the low level details of container specification.
The same recipe file generates specification files for Docker or Singularity. There is no need for separate development for each container implementation you want to natively support.
For example, from this single recipe both a Dockerfile and Singularity recipe file can be easily generated. (Don’t worry about the syntax of a recipe right now, although as you can see it’s straight forward.)
Project home: https://github.com/NVIDIA/hpc-container-maker
Creating Singularity Images
There are two ways to create Singularity images, one using Docker and the other using Singularity natively.
If container image size is a concern and multi-stage recipes are being used, the Docker-based workflow must be used.
Docker-based workflow
- Generate a Dockerfile from the recipe. E.g.,
hpccm.py --recipe recipes/examples/basic.py > Dockerfile - Build the Docker container. E.g.,
docker build -t basic -f Dockerfile . - Convert the container to a Singularity image. E.g.,
docker run -t --rm --privileged -v
/var/run/docker.sock:/var/run/docker.sock -v /tmp:/output
singularityware/docker2singularity basic
Singularity native workflow
- Generate a Singularity recipe file. E.g.,
hpccm.py --recipe recipes/examples/basic.py --format singularity > Singularity - Build the Singularity container. E.g.,
sudo singularity build basic.simg Singularity
Join Our Mailing List
Recent Posts
Related Posts
Laying the Groundwork for 2025: Sylabs’ Vision for Secure Multi-Cloud Solutions
With a legacy rooted in innovation through the work we’ve done with the Singularity platform, Sylabs has consistently worked to provide secure container technology to empower researchers, enterprises, and innovators worldwide. These efforts have paid dividends as we...
Creating New Levels of Security with Containers and Confidential Computing
Data breaches are becoming increasingly common. It's more important than ever to find robust solutions that protect sensitive information. Recent high-profile data breaches underscore the necessity for fresh approaches to data protection. Breaches like these are...
OCI-SIF Container Images: Unraveling Their Features and Benefits
Among the container industry, OCI (Open Container Initiative) and SIF (Singularity Image Format) stand out as two prominent formats, each offering unique features and benefits. Understanding their distinct characteristics is crucial for HPC developers seeking optimal...