X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/f9ffb421cddf3a1bfcb6d79b31958b4d54ed5906..25b62d2b7ba5273928ee98085fa2f4674caa67e6:/doc/_includes/_install_docker_cleaner.liquid diff --git a/doc/_includes/_install_docker_cleaner.liquid b/doc/_includes/_install_docker_cleaner.liquid index e26b2be586..5b0e1551ed 100644 --- a/doc/_includes/_install_docker_cleaner.liquid +++ b/doc/_includes/_install_docker_cleaner.liquid @@ -1,39 +1,34 @@ +{% comment %} +Copyright (C) The Arvados Authors. All rights reserved. + +SPDX-License-Identifier: CC-BY-SA-3.0 +{% endcomment %} + h2. Configure the Docker cleaner The arvados-docker-cleaner program removes least recently used Docker images as needed to keep disk usage below a configured limit. {% include 'notebox_begin' %} -This also removes all containers as soon as they exit, as if they were run with @docker run --rm@. If you need to debug or inspect containers after they stop, temporarily stop arvados-docker-cleaner or run it with @--remove-stopped-containers never@. +This also removes all containers as soon as they exit, as if they were run with @docker run --rm@. If you need to debug or inspect containers after they stop, temporarily stop arvados-docker-cleaner or configure it with @"RemoveStoppedContainers":"never"@. {% include 'notebox_end' %} -Install runit to supervise the Docker cleaner daemon. {% include 'install_runit' %} - -Configure runit to run the image cleaner using a suitable quota for your compute nodes and workload: +Create a file @/etc/arvados/docker-cleaner/docker-cleaner.json@ in an editor, with the following contents. -
~$ sudo mkdir -p /etc/sv
-~$ cd /etc/sv
-/etc/sv$ sudo mkdir arvados-docker-cleaner; cd arvados-docker-cleaner
-/etc/sv/arvados-docker-cleaner$ sudo mkdir log log/main
-/etc/sv/arvados-docker-cleaner$ sudo sh -c 'cat >log/run' <<'EOF'
-#!/bin/sh
-exec svlogd -tt main
-EOF
-/etc/sv/arvados-docker-cleaner$ sudo sh -c 'cat >run' <<'EOF'
-#!/bin/sh
-if [ -d /opt/rh/python33 ]; then
-  source scl_source enable python33
-fi
-exec python3 -m arvados_docker.cleaner --quota 50G
-EOF
-/etc/sv/arvados-docker-cleaner$ sudo chmod +x run log/run
-/etc/sv/arvados-docker-cleaner$ sudo ln -s "$(pwd)" /etc/service/
+
{
+    "Quota": "10G",
+    "RemoveStoppedContainers": "always"
+}
 
-If you are using a different daemon supervisor, or if you want to test the daemon in a terminal window, an equivalent shell command to run arvados-docker-cleaner is: +*Choosing a quota:* Most deployments will want a quota that's at least 10G. From there, a larger quota can help reduce compute overhead by preventing reloading the same Docker image repeatedly, but will leave less space for other files on the same storage (usually Docker volumes). Make sure the quota is less than the total space available for Docker images. + +Restart the service after updating the configuration file. -
python3 -m arvados_docker.cleaner --quota 50G
+
~$ sudo systemctl restart arvados-docker-cleaner
 
+ +*If you are using a different daemon supervisor,* or if you want to test the daemon in a terminal window, run @arvados-docker-cleaner@. Run @arvados-docker-cleaner --help@ for more configuration options.