/docker_gc

Автоматическая сборка мусора для Docker и Docker Swarm

Primary LanguageShell

Garbage collector for Docker Swarm

Docker Cloud Build Status Docker stuff PizzaWare Tea powered

About

Образ для автоматической очистки неиспользуемых обьектов в Docker Swarm (работает и просто как Docker Service )

По умолчанию удаляются следующие типы обьектов:

  • container
  • volume
  • network

Настройка

Для работы необходимо задать параметры yml файле:

  • AGE - срок в формате timestamp или Go duration strings (10m, 1h30m) после которого неиспользуемые ресурсы будут удалены
  • SLEEP - периодичность проверки в формате timestamp или Go duration strings (10m, 1h30m)
  • STICKY_LABEL = не удалять образа с этой меткой

Сборка образа с STICKY_LABEL

В случае если необходимо защитить какой либо из образов от автоматического удаления необходимо добавить к образу label, например persistent_image=yes Для этого создайте Dockerfile для образа

FROM <IMAGENAME>
LABEL persistent_image=yes

При запуске стека необходимо собрать образ из приведенного выше Dockerfile

docker-compose.yaml

...
  <SERVICENAME>
    container_name: <CONTAINERNAME>
    build:
      context: .
...

где - название образа который должен быть защищен от автоматического удаления, - название сервиса в стеке, имя контейнера (опционально)

И задайте STICKY_LABEL: persistent_image=yes в переменных зщапуска docker_gc

Запуск

  • docker-stack.yml - для деплоя сервиса в Docker swarm
  • docker-compose.yml - для запуска Docker Service

GitHub

Prebuild docker image on hub.docker.com - https://hub.docker.com/r/pdacity/docker_gc