SingularityContainerCreation: Difference between revisions

From T2B Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 20: Line 20:
sudo singularity build --writable test1.img test1.def
sudo singularity build --writable test1.img test1.def
</pre>
</pre>
after one or two minutes, you get an container ready to be used under the form of a single *.img file.
after one or two minutes, you get an container ready to be used under the form of a single test1.img file. Since we created this container with the flag "--writable", we can bring some modifications inside the container.  


= Sources =
= Sources =
* [https://www.sylabs.io/docs/ Singularity website] -> explanations to build a container on this [https://www.sylabs.io/guides/2.6/user-guide/build_a_container.html page].
* [https://www.sylabs.io/docs/ Singularity website] -> explanations to build a container on this [https://www.sylabs.io/guides/2.6/user-guide/build_a_container.html page].

Revision as of 15:31, 30 October 2018

Prerequisites

By default, ordinary users don't have the right to create Singularity containers. You must either do it as root, or to work with sudoer account (the best option !).

Creation of a containers

On this page, we will not explain all the methods that exist to build a container, this is already done here. Instead, we will illustrate one method that can rapidly be adopted.

Creation of a container using a definition file

A definition file is a recipe to build a container starting from something else, generally another Singularity or Docker container. Let's create a definition file 'test1.def' with the following content :

Bootstrap: docker

From: centos:latest

The first line indicates that we will use a container from Docker hub, the second line specifies which container (the latest release of CentOS).

Now, if you issue the following command :

sudo singularity build --writable test1.img test1.def

after one or two minutes, you get an container ready to be used under the form of a single test1.img file. Since we created this container with the flag "--writable", we can bring some modifications inside the container.

Sources