Sign inSign up

doggielicc/docker-janitor

By doggielicc

•Updated 7 months ago

Performs continuous cleanups on unused Docker resources on the host.

Image
0

337

doggielicc/docker-janitor repository overview

⁠docker-janitor

This containers performs continuous cleanups on unused Docker resources on the host.

Basically it performs docker system prune --all from time to time.

⁠Usage

  • To run it on a standalone host
    • docker run -v /var/run/docker.sock:/var/run/docker.sock doggielicc/docker-janitor
  • To run on all hosts of a Swarm Cluster
    • docker-compose.yml
services:
  janitor:
    image: doggielicc/docker-janitor
    build: .
    deploy:
      mode: global
    environment:
      - SLEEP_TIME=86400
      - UNUSED_TIME=24h
      - EXCLUDE_RESOURCES="do-not-remove"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

docker stack deploy --compose-file docker-compose.yml janitor

⁠ENV

  • TIME_BETWEEN_RUNS: time in seconds between janitor script runs (default: 86400 - once a day)
  • SKIP_RANDOM_BACKOFF: On the first run, the container will sleep randomly between 0 and SLEEP_TIME before entering the loop (random backoff) so that the hosts won't run this script at the same time, possibly causing unecessary global pressure on the cluster (default: false)
  • UNUSED_TIME: min age of resource creation before being pruned (default: 24h).
  • PRUNE_VOLUMES: if 'true', remove unused volumes too (default: false)
  • RUN_ON_STARTUP: if 'true', run system prune when starting Janitor (default: false)
  • HOUR_OF_DAY_START: start hour of day in which Janitor is enabled to run (default: 0)
  • HOUR_OF_DAY_END: end hour of day in which Janitor is enabled to run (default: 23)
  • EXCLUDE_RESOURCES: comma seperated string contains resource labels to be excluded from removal by Janitor.

Tag summary

Content type

Image

Digest

sha256:a7d013a4b…

Size

61.7 MB

Last updated

7 months ago

docker pull doggielicc/docker-janitor