- by default Singularity bind mounts /home/$USER, /tmp, and $PWD into the container at runtime
- the default image Ubuntu 18.10 does not have netcat so it is installed during the %post in the image definition
- to use ping we need capability CAP_NET_RAW that can be added
- requires the installation of Golang
- requires sudo for the installation but it support the installation without the root with kernel >= 3.8
- images can be built with a definition file (similar to a Dockerfile) and SIF file is produced
- SIF are immutable, but during testing and debugging an image can be written with the sandbox format
- ubuntu:18.04, amd64:
- 36 MB (Dockerhub)
- 36 MB (sif du)
- 69 MB (Singularity folder du)
- ubuntu:18.04
- 2 MB with
free -mh
- 2 MB with
- Charliecloud makes host directories available inside the container using bind mounts
- requires sudo for the installation but can be executed without installation
-
Ubuntu : 18.04, amd64: 25.49 MB from Dockerhub
-
it uses Dockerhub to pull images and then the image is flatten into a tarball with ch-builder2tar
-
the tarball can be distributed and unpacked
-
the tarball size is 25 MB
-
the unpacked folder size is 70 MB
-
for better performance unpack the image into tmpfs filesystem
-
the image is read-only
The process is launched as if it was launched on the interacting-with-the-host, 0 MB measured with free -mh
-
version 1.0.1
-
last version 1.1.0 does not work
WARN[0000] signal: killed ERRO[0000] container_linux.go:349: starting container process caused "process_linux.go:297: applying cgroup configuration for process caused \"failed to write \\\"0-31\\\" to \\\"/ sys/fs/cgroup/cpuset/container-gdfrtcabwhmhrvvr/cpuset.cpus\\\": write /sys/fs/cgroup/cpuset/container-gdfrtcabwhmhrvvr/cpuset.cpus: invalid argument\"" container_linux.go:349: starting container process caused "process_linux.go:297: applying cgroup configuration for process caused \"failed to write \\\"0-31\\\" to \\\"/sys/fs/cgro up/cpuset/container-gdfrtcabwhmhrvvr/cpuset.cpus\\\": write /sys/fs/cgroup/cpuset/container-gdfrtcabwhmhrvvr/cpuset.cpus: invalid argument\""
- the configuration script needs to run with root privileges in order to set Sarus as a root-owned SUID program
- the configuration script requires the program
mksquashfs
to be installed on the system
- Ubuntu : 18.04, amd64: 24.65 MB from Dockerhub, 24.65 MB with
sarus images
anddu
- the image is then squashed with squashfs
- the image can be downloaded from Dockerhub or loaded from tar archive (exported with Docker)
- images are stored in
~/.sarus/images
Ubuntu 18.04:
Startup min/mean/max/std duration: 0.1099/0.1280/0.1416/0.0086
Startup + shutdown min/mean/max/std duration: 0.1372/0.1498/0.1651/0.0087
- 2 MB measured with
free -mh
No documentation on how to install and use Shifter is provided