Политика автоматического удаления Docker-образов
Политика удаления Docker-образов позволяет задать правила, в соответствии с которыми Docker-образы будут удаляться автоматически.
Задать политику удаления можно только для каждого отдельного репозитория. Политика применяется только к Docker-образам, имя которых в точности совпадает с именем репозитория. Совпадение по префиксу (вложенные репозитории) не поддерживается. Нельзя задать политику для группы репозиториев, реестра, каталога или облака.
Статусы политики удаления
Примечание
Политика по умолчанию создается в статусе DISABLED
.
Политика удаления может находится в следующих статусах:
ACTIVE
— политика активна и регулярно удаляет Docker-образы по установленным правилам.DISABLED
— политика выключена и не удаляет Docker-образы в репозитории. Политики в этом статусе можно использовать для подготовки и тестирования правил.
У репозитория может быть только одна активная политика и несколько выключенных. Активную политику можно выключить в любой момент.
Как для активной, так и для выключенной политики можно делать тестовые (dry-run) запуски, чтобы проверить, какие Docker-образы будут удалены в соответствии с правилами.
Правила политики удаления
Для удаления Docker-образы сначала фильтруются по тегам, а затем проверяются на соответствие условиям.
Важно
Необходимо указать хотя бы один фильтр по тегу и задать хотя бы одно условие удаления.
Чтобы сконфигурировать политику удаления, задайте следующие параметры:
- Фильтрация Docker-образа по тегам:
-
tag_regexp
— флаг для указания фильтра в виде регулярного выражения.Использование регулярного выражения
.*
дляtag_regexp
означаетвсе образы с тегами
. Для того, чтобы правило распространялось на образы без тегов, надо явно выставлять флагuntagged
. -
untagged
— флаг для применения правила к Docker-образам без тегов.
-
- Условия для удаления Docker-образов:
expire_period
— период времени, который должен пройти с момента создания Docker-образа, чтобы он подходил для автоматического удаления. Период должен быть кратен 24 часам.retained_top
— количество Docker-образов (подпадающих под заданный фильтр по тегам), которое необходимо оставить, даже еслиexpire_period
уже истек.
Разрешение конфликтов правил
- Если Docker-образ, отфильтрованный по тегу, подпадает только под одно правило для удаления, то он удаляется в соответствии с настройками этого правила.
- Если Docker-образ, отфильтрованный по тегу, подпадает под несколько конфликтующих правил, он будет удален, только если этого требуют все правила. Если есть хотя бы одно правило, согласно которому Docker-образ не должен быть удален — он останется.