---
layout: default
navsection: installguide
title: Singularity container runtime
...
{% comment %}
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.
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.
* 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.
$ singularity version
3.5.2
Then update @Containers.RuntimeEngine@ in your cluster configuration:
# Container runtime: "docker" (default) or "singularity" (experimental)
RuntimeEngine: singularity
Restart your dispatcher (@crunch-dispatch-slurm@ or @arvados-dispatch-cloud@) after updating your configuration file.