Удаление старых / неиспользуемых изображений докера

Я использую Sonatype Nexus в качестве Docker Registry, и через некоторое время он стал действительно большим (новый образ с каждой сборкой CI и некоторыми старыми проектами).

Я пытался использовать задачу "Очистить неиспользуемые манифесты и изображения Docker", но, похоже, ничего не помогло.

2 ответа

Я удаляю старые образы докеров вручную.

  1. получить nexus-cli

    wget https://s3.eu-west-2.amazonaws.com/nexus-cli/1.0.0-beta/linux/nexus-cli

    chmod + x нексус-кли

  2. настроить хост

    ./nexus-cli настроить

  3. показать изображения

    ./nexus-cli изображение ls

  4. сохранить последние 5 изображений

    ./nexus-cli удалить изображение -name mlabouardy/nginx -keep 5

  5. Чистый скрипт

image_file=image.txt
CLI_HOME=/data/nexus3
KEEP_VERSION_NUM=5

$CLI_HOME/nexus-cli image ls > $image_file
sed -i '$d' $image_file


cat $image_file | while read line
do
    echo "start clean image:  $line"
    $CLI_HOME/nexus-cli image delete -name $line -keep $KEEP_VERSION_NUM
done
  1. create create docker - удалить невыполненные манифесты и задачи изображений

  2. создать задачу создания компактного хранилища больших двоичных объектов администратора

Вам нужно будет настроить политику очистки.

Создать политику очистки (например, через 15 дней после внесения изменений) - Предупреждение: docker push того же хэша не модификация

Для каждого вашего реестра (Nexus называет его "хранилище типа Docker"):

  • Настройте политику очистки по вашему выбору
  • Задача очистки
    • Создайте
    • Беги до конца
    • Проверьте файл nexus3.log
  • "Удалить неиспользованные манифесты и изображения"
    • Создайте
    • Беги до конца
    • Проверьте файл nexus3.log
  • Задача "компактный блоб"
    • Создайте
    • Беги до конца
    • Проверьте файл nexus3.log
  • Пространство должно быть освобождено сейчас
  • Не используйте Nexus в вашем следующем проекте
  • ...
  • прибыль

Попробуйте запустить задачу "Очистить неиспользуемые манифесты и изображения Docker".

Для получения дополнительной информации см. https://support.sonatype.com/hc/en-us/articles/360000095948-How-Can-I-Configure-Nexus-3-to-Reduce-Disk-Space

Для удаления старых и / неиспользуемых образов Docker вы должны использовать следующую команду:

docker images purne

документы: https://docs.docker.com/engine/reference/commandline/image_prune/

Другие вопросы по тегам