Как удалить данные или слой изображения докера в nexus3

Я пробую nexus oss 3.0.1-01. У меня есть настройка репозитория докеров, и я могу успешно отправлять и извлекать изображения. Но мне нужен способ удаления изображений. Для докера удаление компонента фактически не приведет к удалению фактических слоев изображения из файловой системы, поскольку на него могут ссылаться другие компоненты. Итак, как правильно с этим справиться?

Я даже удалил все отдельные компоненты, а затем запустил запланированную задачу для компактного хранилища BLOB-объектов. Но это, похоже, не сильно помогло с точки зрения освобождения места для хранения.

Насколько я понимаю, на данный момент в nexus3 нет функции. Если есть, не могли бы вы указать мне на какую-нибудь документацию по нему? В противном случае, как все остальные управляют своим хранилищем для репозитория Docker?


person aver    schedule 19.08.2016    source источник


Ответы (3)


Недавно у нас был пользователь, внесший свой вклад:

https://gist.github.com/lukewpatterson/bf9d19410094ea8bced1d4bb0523b67f

Вы можете прочитать об использовании здесь: https://issues.sonatype.org/browse/NEXUS-9293

Кроме того, скоро появится поддерживаемая функция от Sonatype.

person DarthHater    schedule 08.12.2016

Это то, что необходимо предоставить на уровне реестра Docker. В настоящее время он кажется сломанным на версии 3.1.

Вы пробовали зайти в активы и удалить слои? Если это не привело к удалению файлов из хранилища BLOB-объектов вместе с компактным хранилищем BLOB-объектов, то это проблема Nexus.

Обязательно устраните эту проблему и подтвердите, что это желаемое поведение для 3.2.

См. вопросы https://issues.sonatype.org/browse/NEXUS-9497 https://issues.sonatype.org/browse/NEXUS-9293

person Astronaut    schedule 15.11.2016
comment
Это не дает ответа на вопрос Как удалить данные или слой изображения Docker в nexus3. - person Tushar; 16.11.2016
comment
@Tushar Ответ — перейти к ресурсам и удалить слои. Но есть открытая ошибка, так что в настоящее время это не работает. - person Astronaut; 16.11.2016
comment
@Astronaut - удаление ресурсов/слоев и их удаление невозможно. Прежде всего, нет четкого способа узнать, какой слой какому изображению принадлежит, просто взглянув на информацию, доступную в пользовательском интерфейсе. Во-вторых, один слой может использоваться несколькими изображениями. Таким образом, удаление слоев — не выход. Я видел эту проблему на доске вопросов Sonatype и следил за ней. К сожалению, на данный момент соответствующего обновления нет. - person aver; 17.11.2016

В Nexus 3.14 вы переходите в WebUI -> Задачи -> Создать -> Docker - Delete unused manifests and images

Затем еще одно задание Admin - Compact blob store для фактического rm файлов из каталога Nexus.

Перед этим вам нужно удалить компоненты Nexus (используя политику очистки + задание), как это сделал оригинальный постер.

person kubanczyk    schedule 08.04.2019