@summerwind
Web-программист

Как удалять ненужные образы из локального реестра Docker?

У меня есть приложение, которое периодически дорабатывается и, затем, разворачивается на нескольких серверах. Упаковано приложение в Docker. При каждом обновлении приложения, при помощи Jenkins полностью удаляется старый образ и собирается новый.
Чтобы на каждом из серверов можно было просто скачать образ и запустить его (а не пересобирать заново), я развернул собственный Docker Registry ( https://docs.docker.com/registry ) и заливаю туда образ после пересборки.
Но, непонятен один момент. Как удалить из этого реестра старый образ перед тем как залить новый?
Если я просто делаю push с тем же именем, то количество занятого места на сервере, где крутится registry, увеличивается гигабайтами. Захламлять сервер хранением каких-то старых слоев\образов мне абсолютно не нужно. Мне нужно, чтобы просто хранился актуальный образ, который я могу скачать и развернуть в любой момент.
В документации внятного ответа я не нашел. Есть, конечно, API реестра
( https://docs.docker.com/registry/spec/api ), в котором есть методы, похожие на удаление. Я пытался их вызывать (с последующим вызовом garbage-collect у registry-контейнера), но непонятно, что они вообще делают, так как после их вызова количество занятого места не уменьшается абсолютно.
  • Вопрос задан
  • 1083 просмотра
Пригласить эксперта
Ответы на вопрос 1
nightvich
@nightvich
ITman
Штатного решения нет, создаю новый реестр, переношу то, что нужно и удаляю старый.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы