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.
- 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
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
Overview With CentOS 7 reaching end of life on June 30th, 2024 and CentOS 8 already discontinued in favor of CentOS Stream, users of open source SingularityCE might find themselves in a situation where a migration to another open source operating system is necessary....
With the ever increasing adoption of AI techniques in scientific research, as well as growing use of accelerators for traditional numerical workloads, easy access to GPUs and other devices in HPC environments is critical.The 4.0 release of the SingularityCE container...
Transforming Alzheimer’s Research with Singularity Containers: A Milestone in Scientific Reproducibility
Addressing The Grand Challenges of Our Time Through Singularity Container TechnologyAt Sylabs, our mission and vision aren't just statements on a wall, they're an ethos we embody daily. We're committed to facilitating cutting-edge research that seeks to address...