Удаление старых / неиспользуемых изображений докера
Я использую Sonatype Nexus в качестве Docker Registry, и через некоторое время он стал действительно большим (новый образ с каждой сборкой CI и некоторыми старыми проектами).
Я пытался использовать задачу "Очистить неиспользуемые манифесты и изображения Docker", но, похоже, ничего не помогло.
2 ответа
Я удаляю старые образы докеров вручную.
получить nexus-cli
wget https://s3.eu-west-2.amazonaws.com/nexus-cli/1.0.0-beta/linux/nexus-cli
chmod + x нексус-кли
настроить хост
./nexus-cli настроить
показать изображения
./nexus-cli изображение ls
сохранить последние 5 изображений
./nexus-cli удалить изображение -name mlabouardy/nginx -keep 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
create create docker - удалить невыполненные манифесты и задачи изображений
создать задачу создания компактного хранилища больших двоичных объектов администратора
Создать политику очистки (например, через 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/