Yandex Cloud
Поиск
Связаться с намиПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Container Registry
  • Начало работы
    • Все инструкции
    • Установить и настроить Docker
    • Аутентифицироваться в Container Registry
      • Получить информацию об имеющихся политиках удаления
      • Создать политику удаления
      • Изменить политику удаления
      • Сделать тестовый запуск политики удаления
      • Удалить политику удаления
    • Сканирование Docker-образа на наличие уязвимостей
    • Создание триггера для реестра
  • Yandex Container Solution
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Решение проблем
  • Вопросы и ответы
  • Обучающие курсы
  1. Пошаговые инструкции
  2. Управление политиками автоматического удаления Docker-образов
  3. Создать политику удаления

Создать политику удаления

Статья создана
Yandex Cloud
Улучшена
Обновлена 3 марта 2026 г.

Задать политику удаления можно только для репозитория. Чтобы узнать имя репозитория, получите список репозиториев в реестре.

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, в котором создан реестр.
  2. Перейдите в сервис Container Registry.
  3. Выберите реестр и нажмите на строку с его именем.
  4. Выберите репозиторий и нажмите на строку с его именем.
  5. На панели слева нажмите Жизненный цикл.
  6. В правом верхнем углу нажмите кнопку Создать.
  7. Задайте параметры политики удаления:
    • (Опционально) Имя.
    • (Опционально) Описание.
    • Статус — статус политики удаления после создания. Не рекомендуется создавать сразу активную политику со статусом ACTIVE.
    • В блоке Правила политики удаления добавьте правила:
      1. Нажмите кнопку Добавить.

      2. Задайте параметры правила:

        • Тег — тег Docker-образа для фильтрации. Поддерживаются регулярные выражения языка Java. Например, выражение test.* позволяет получить все образы с тегами, начинающимися на test.
        • Образов без тегов — флаг для применения правила к Docker-образам без тегов.
        • Время от создания образа, в сутках — время, через которое Docker-образ может попадать под политику удаления.
        • Образов оставить — количество Docker-образов, которые не будут удалены, даже если подходят по правилу.
        • (Опционально) Описание.
  8. Нажмите кнопку Создать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

  1. Подготовьте правила политики и сохраните их в файл rules.json.

    Пример содержимого файла с правилами, где:

    • description — описание правила политики.
    • tag_regexp — тег Docker-образа для фильтрации. Поддерживаются регулярные выражения языка Java. Например, выражение test.* позволяет получить все образы с тегами, начинающимися на test.
    • untagged — флаг для применения правила к Docker-образам без тегов.
    • expire_period — время, через которое Docker-образ может попадать под политику удаления. Формат параметра — число и единица измерения s, m, h или d (секунды, минуты, часы или дни). expire_period должен быть кратен 24 часам.
    • retained_top — количество Docker-образов, которые не будут удалены, даже если подходят по правилу.
    [
      {
        "description": "delete prod Docker images older than 60 days but retain 20 last ones",
        "tag_regexp": "prod",
        "expire_period": "60d",
        "retained_top": 20
      },
      {
        "description": "delete all test Docker images except 10 last ones",
        "tag_regexp": "test.*",
        "retained_top": 10
      },
      {
        "description": "delete all untagged Docker images older than 48 hours",
        "untagged": true,
        "expire_period": "48h"
      }
    ]
    
  2. Создайте политику удаления, выполнив команду:

    yc container repository lifecycle-policy create \
      --repository-name crp3cpm16edq********/ubuntu \
      --name test-policy \
      --description "disabled lifecycle-policy for tests" \
      --rules ./rules.json
    

    Где:

    • --repository-name — имя репозитория.

    • --rules — путь к файлу с описанием политик.

    • --description — (опционально) описание политики удаления.

    • --name — (опционально) имя политики. Требования к имени:

      • длина — от 3 до 63 символов;
      • может содержать строчные буквы латинского алфавита, цифры и дефисы;
      • первый символ — буква, последний — не дефис.

    Примечание

    Политика по умолчанию создается выключенной (в статусе DISABLED). Не рекомендуется создавать сразу активную политику с флагом --active.

    Результат:

    id: crp6lg1868p3********
    name: test-policy
    repository_id: crp3cpm16edq********
    ...
    - description: delete all untagged Docker images older than 48 hours
      expire_period: 172800s
      untagged: true
    

    Значение параметра expired_period в ответе отображается в секундах. Это техническое ограничение, формат будет изменен.

  3. Проверьте, что политика создалась, выполнив команду:

    yc container repository lifecycle-policy list --repository-name crp3cpm16edq********/ubuntu
    

    Где repository-name — имя репозитория.

    Результат:

    +----------------------+-------------+----------------------+----------+---------------------+-------------------------------+
    |          ID          |    NAME     |    REPOSITORY ID     |  STATUS  |       CREATED       |          DESCRIPTION          |
    +----------------------+-------------+----------------------+----------+---------------------+-------------------------------+
    | crp6lg1868p3******** | test-policy | crp3cpm16edq******** | DISABLED | 2020-05-28 15:05:58 | disabled lifecycle-policy for |
    |                      |             |                      |          |                     | tests                         |
    +----------------------+-------------+----------------------+----------+---------------------+-------------------------------+
    

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

  1. Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:

    resource "yandex_container_repository_lifecycle_policy" "my_lifecycle_policy" {
      name          = "<имя_политики>"
      status        = "<статус_политики>"
      repository_id = "<идентификатор_репозитория>"
    
      rule {
        description   = "<описание_правила>"
        untagged      = true
        tag_regexp    = ".*"
        retained_top  = 1
        expire_period = "48h"
      }
    }
    

    Где:

    • name — имя политики.
    • status — статус политики. Может принимать значения active и disabled.
    • repository_id — идентификатор репозитория.
    • rule — блок с правилом политики. Содержит следующие параметры:
      • description — описание правила.
      • untagged — если значение параметра true, правило применяется ко всем Docker-образам без тега.
      • tag_regexp — тег Docker-образа для фильтрации. Поддерживаются регулярные выражения языка Java. Например, выражение test.* позволяет получить все образы с тегами, начинающимися на test.
      • retained_top — количество Docker-образов, которые не будут удалены, даже если подходят под правила политики удаления.
      • expire_period — время, через которое Docker-образ попадает под политику удаления. Формат параметра — число и единица измерения s, m, h или d (секунды, минуты, часы или дни). expire_period должен быть кратен 24 часам.

    Более подробную информацию о параметрах ресурса yandex_container_repository_lifecycle_policy в Terraform, см. в документации провайдера.

  2. Создайте ресурсы:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

    2. Проверьте корректность конфигурационного файла с помощью команды:

      terraform validate
      

      Если конфигурация является корректной, появится сообщение:

      Success! The configuration is valid.
      
    3. Выполните команду:

      terraform plan
      

      В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

    4. Примените изменения конфигурации:

      terraform apply
      
    5. Подтвердите изменения: введите в терминале слово yes и нажмите Enter.

После этого в указанном репозитории будет создана политика удаления. Проверить появление политики и ее настройки можно в консоли управления или с помощью команды CLI:

 yc container repository lifecycle-policy list --registry-id <идентификатор_реестра>

Чтобы создать политику удаления, воспользуйтесь методом Create для ресурса LifecyclePolicyService.

Совет

Вы можете протестировать политику удаления, чтоб проверить, какие Docker-образы соответствуют правилам политики. Реального удаления Docker-образов при тестовом запуске не происходит.

Была ли статья полезна?

Предыдущая
Получить информацию об имеющихся политиках удаления
Следующая
Изменить политику удаления
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»