Очистка образов Container Registry
В процессе эксплуатации и установки обновлений системы накапливаются старые образы в хранилище Container Registry. В данной статье приведен пример очистки образов, которые уже не востребованы системой.
⚠️ Инструкции ниже справедливы при условии использования Container Registry в промышленных установках, или в случае использования демонстрационного образа Monq. При использовании сторонних решений (например, Harbor, Nexus, Gitlab и др.), очистку образов необходимо производить согласно официальной документации данных решений.
Необходимые инструменты
- discli - утилита командной строки для управления образами контейнеров в реестрах, совместимых со спецификацией OCI Distribution. Начиная с версии Monq 8.9.1, утилита предустановлена в демонстрационном образе, а инструкция по её установке включена в состав руководства по установке системы и подготовке компонентов инфраструктуры.
Использование
Утилита позволяет выполнить очистку реестра в два простых шага:
-
Запустите очистку реестра
Приведенная в примере команда оставит только один последний тег для каждого репозитория:
discli cleanup <адрес реестра> -k 1<адрес реестра>- например, для демонстрационного образа это:registry.in.monq.local:5000
Справка по команде
discli cleanup:Очистка реестра
Использование:
discli cleanup <адрес реестра> [флаги]
Флаги:
-d, --dry-run (Опционально) Выполнить все действия, кроме удаления.
-h, --help Справка по команде cleanup
-k, --keep-tags int (Опционально) Количество последних тегов, отсортированных по SemVer, которые не будут удалены. (по умолчанию: 3)
-r, --repo-regex string (Опционально) Регулярное выражение для выбора репозиториев. (по умолчанию: ".*")
-t, --tag-regex string (Опционально) Регулярное выражение для выбора тегов. (по умолчанию: ".*")
Глобальные флаги:
--allow-nondistributable-artifacts Разрешить выгрузку нераспространяемых (сторонних) слоёв
--insecure Разрешить обращение к образам без TLS (по незащищённому соединению)
--platform platform Указывает платформу в форме ос/архитектура[/вариант][:версия_ОС] или all для всех доступных платформ (например, linux/amd64). (по умолчанию: linux/amd64)
-v, --verbose Включить подробные логи (отладочный вывод)
-
Запустите "сборщик мусора" в реестре
Выполняется на сервере с установленным Container Registry или непосредственно в консоли демонстрационного образа.
registry garbage-collect /etc/docker/registry/config.yamlДля корректной работы "сборщика мусора" в конфигурационном файле Container Registry должна быть включена возможность удаления. По умолчанию включено начиная с версии Monq 8.9.1.
...
storage:
delete:
enabled: true
...
Утилита имеет широкий набор опций и подробную справку, посмотреть которую можно выполнив команду - discli help.