Garbage collector for Docker Swarm / Автоматическая сборка мусора для Docker и Docker Swarm
Image for automatic removing unused Docker Swarm objects. Also works just as Docker Service.
By default these types of objects are deleted:
Set config parameters in the yml file:
STICKY_LABEL
If you need to protect an image from automatic deletion use LABEL directive, for example: persistent_image=true
. To do it just create Dockerfile for you image <IMAGENAME>.
FROM <IMAGENAME>
LABEL persistent_image=true
Before run the stack build the image from Dockerfile mentioned above:
docker-compose.yaml
...
<SERVICENAME>
container_name: <CONTAINERNAME>
build:
context: .
...
<IMAGENAME>
- the image which is protected from automatic deletion<SERVICENAME>
- service name in the stack<CONTAINERNAME>
- container name (optionally)Also you should set STICKY_LABEL: persisten_image=true
in the docker_gc run variables
Prebuild docker image on hub.docker.com - https://hub.docker.com/r/pdacity/docker_gc
Образ для автоматической очистки неиспользуемых обьектов в Docker Swarm (работает и просто как Docker Service )
По умолчанию удаляются следующие типы обьектов:
Для работы необходимо задать параметры yml файле:
STICKY_LABEL
В случае если необходимо защитить какой либо из образов от автоматического удаления необходимо добавить к образу label
, например persistent_image=true
Для этого создайте Dockerfile для образа <IMAGENAME>
FROM <IMAGENAME>
LABEL persistent_image=true
При запуске стека необходимо собрать образ из приведенного выше Dockerfile
docker-compose.yaml
...
<SERVICENAME>
container_name: <CONTAINERNAME>
build:
context: .
...
где <IMAGENAME>
- название образа который должен быть защищен от автоматического удаления, <SERVICENAME>
- название сервиса в стеке, <CONTAINERNAME>
имя контейнера (опционально)
И задайте STICKY_LABEL: persistent_image=true
в переменных запуска docker_gc
Готовый собранный образ на hub.docker.com - https://hub.docker.com/r/pdacity/docker_gc
References: English version of the documentation - https://habr.com/en/users/AlexanderTyutin/