Merge branch '17770-fix-logging-while-throttled'
[arvados.git] / doc / install / singularity.html.textile.liquid
index ca3ec8dfea33c6c81f701be0531a9a579af4b4cd..1f382539589e588786893bad334bf4491a843da5 100644 (file)
@@ -9,20 +9,25 @@ Copyright (C) The Arvados Authors. All rights reserved.
 SPDX-License-Identifier: CC-BY-SA-3.0
 {% endcomment %}
 
-Arvados can be configured to use Singularity instead of Docker to execute containers on cloud nodes or a SLURM/LSF cluster.
+Arvados can be configured to use "Singularity":https://sylabs.io/singularity/ instead of Docker to execute containers on cloud nodes or a SLURM/LSF cluster. Singularity may be preferable due to its simpler installation and lack of long-running daemon process and special system users/groups.
 
 Please note:
 * *Singularity support is currently considered experimental.*
 * Even when using the singularity runtime, users' container images are expected to be saved in Docker format using @arv keep docker@. Arvados converts the Docker image to Singularity format (@.sif@) at runtime as needed. Specifying a @.sif@ file as an image when submitting a container request is not yet supported.
-* Singularity does not limit the amount of memory available in a container. Each container will have access to all memory on the host where it runs.
-* Programs running in containers may behave differently due to differences between Singularity and Docker, _e.g._, the root (image) filesystem is read-only in a Singularity container.
+* Singularity does not limit the amount of memory available in a container. Each container will have access to all memory on the host where it runs, unless memory use is restricted by SLURM/LSF.
+* Programs running in containers may behave differently due to differences between Singularity and Docker.
+** The root (image) filesystem is read-only in a Singularity container. Programs that attempt to write outside a designated output or temporary directory are likely to fail.
+** The Docker ENTRYPOINT instruction is ignored.
 * Arvados is currently tested with Singularity version 3.5.2.
 
-To use singularity, first make sure Singularity is installed on your cloud worker image or SLURM/LSF compute nodes as applicable.
+To use singularity, first make sure "Singularity is installed":https://sylabs.io/guides/3.5/user-guide/quick_start.html on your cloud worker image or SLURM/LSF compute nodes as applicable. Note @squashfs-tools@ is required.
 
 <notextile>
 <pre><code>$ <span class="userinput">singularity version</span>
 3.5.2
+$ <span class="userinput">mksquashfs -version</span>
+mksquashfs version 4.3-git (2014/06/09)
+[...]
 </code></pre>
 </notextile>
 
@@ -34,4 +39,4 @@ Then update @Containers.RuntimeEngine@ in your cluster configuration:
 </code></pre>
 </notextile>
 
-Restart your dispatcher (@crunch-dispatch-slurm@ or @arvados-dispatch-cloud@) after updating your configuration file.
+Restart your dispatcher (@crunch-dispatch-slurm@, @arvados-dispatch-cloud@, or @arvados-dispatch-lsf@) after updating your configuration file.