18259: documentation: add more detail about Singularity.
[arvados.git] / doc / install / singularity.html.textile.liquid
1 ---
2 layout: default
3 navsection: installguide
4 title: Singularity container runtime
5 ...
6 {% comment %}
7 Copyright (C) The Arvados Authors. All rights reserved.
8
9 SPDX-License-Identifier: CC-BY-SA-3.0
10 {% endcomment %}
11
12 h2(#overview). Overview
13
14 Please refer to the "Singularity":{{site.baseurl}}/architecture/singularity.html documentation in the Architecture section.
15
16 h2(#configuration). Configuration
17
18 To use singularity, first make sure "Singularity is installed":https://sylabs.io/guides/3.7/user-guide/quick_start.html on your cloud worker image or SLURM/LSF compute nodes as applicable. Note @squashfs-tools@ is required.
19
20 <notextile>
21 <pre><code>$ <span class="userinput">singularity version</span>
22 3.7.4
23 $ <span class="userinput">mksquashfs -version</span>
24 mksquashfs version 4.3-git (2014/06/09)
25 [...]
26 </code></pre>
27 </notextile>
28
29 Then update @Containers.RuntimeEngine@ in your cluster configuration:
30
31 <notextile>
32 <pre><code>      # Container runtime: "docker" (default) or "singularity"
33       RuntimeEngine: singularity
34 </code></pre>
35 </notextile>
36
37 Restart your dispatcher (@crunch-dispatch-slurm@, @arvados-dispatch-cloud@, or @arvados-dispatch-lsf@) after updating your configuration file.
38
39 h2(#singularity_configuration). Singularity configuration
40
41 Docker images are converted on the fly by @mksquashfs@, which can consume a considerable amount of RAM. The RAM usage of mksquashfs can be restricted in @/etc/singularity/singularity.conf@ with a line like @mksquashfs mem = 512M@. The amount of memory made available for mksquashfs should be configured lower than the smallest amount of memory requested by a container on the cluster to avoid the conversion being killed for using too much memory.