Как перечислить опубликованные изображения контейнеров в Реестре контейнеров Google в CLI в порядке размера изображения - PullRequest
0 голосов
/ 29 ноября 2018

Используя CLI, я хочу перечислить изображения в каждом репозитории в проекте реестра контейнеров Google, но с соблюдением следующих условий:

  • Отображает изображения только с самым последним тегом
  • Перечисляет удобочитаемый размер изображений
  • Перечисляет названия изображений

Самые близкие мне удалось получить нас через gsutil:

gsutil du -h gs://eu.artifacts.my-registry.appspot.com/containers/images

В результате:

33.77 MiB   gs://eu.artifacts.my-registry.appspot.com/containers/images/sha256:03c1a2387ef6cb30a7428a46821f946d6a2c591a26cb2066891c55b2b6846ae2
1.27 MiB    gs://eu.artifacts.my-registry.appspot.com/containers/images/sha256:03c1e7db6bf0140bd5fa34236a35453cb73cef01f6d89b98bc5995ae8ea07aaf
1.32 KiB    gs://eu.artifacts.my-registry.appspot.com/containers/images/sha256:03c3c97495d60c68d37d04a7e6c9b3a48bb159ce5dde13d0d81b4e75e2a3f1d4
81.92 KiB   gs://eu.artifacts.my-registry.appspot.com/containers/images/sha256:03c5483cb8ac9c9ae498507e15d68d909a11859a8e5238556b7188e0af4d9264
457.43 KiB  gs://eu.artifacts.my-registry.appspot.com/containers/images/sha256:03c7f98faa1cfc05264e743e23ca2e118d24c57bfd67d5cb2e2c7a57e8124b6c
7.88 KiB    gs://eu.artifacts.my-registry.appspot.com/containers/images/sha256:03c83b13d044844cd3f6b278382e408541f22029acaf55d9e7e5689b8d51eeea

Но, очевидно, это не соответствует большинству моих критериев.

Информация доступна через графический интерфейс, например, для каждого изображения:

google_console

Есть идеи?

Я открыт для gsutil, gcloud, docker, всего, что действительно может быть установлено в Docker-контейнере.

Ответы [ 3 ]

0 голосов
/ 30 ноября 2018

Вы можете использовать команду «gcloud container image list» для выполнения этой задачи;тем не менее, вам нужно будет установить соответствующие флаги для выполнения вашего варианта использования.Вы можете прочитать больше о команде и опциях флага здесь .

0 голосов
/ 07 декабря 2018

Кажется, у вас есть только одна нерешенная проблема с перечислением размера изображений контейнера после прочтения вашего комментария на ответ Jason .Поэтому невозможно получить напрямую с помощью команды gcloud.Вот две работы, которые я тестировал:

  1. Вы можете использовать команду gcloud images description command, чтобы увидеть размер изображений.Убедитесь, что вы используете флаг "--log-http" с ним.Команда должна быть такой:

$ gcloud container images describe gcr.io/myproject/myimage:tag --log-http

Другой способ получить размер изображения - использовать команду gsutil stat .Итак, вот что я сделал:

a.После выполнения команды ниже, я перечислил все свои изображения из корзины GCS и сохранил их в файл с именем images.txt

$ gsutil ls "BUCKET URL" > images.txt

b.Я запустил команду gcloud stat, как показано ниже, чтобы прочитать имена изображений из файла images.txt и вернуть размер изображений в хронологическом порядке.

$ for x in $(cat images.txt); do `gsutil stat $x | grep Content-Length | awk '{print $2}'`; done

Вы можете настроить этот маленький скрипт в соответствии со своими потребностями.

Я понимаю, что это не эффективный обходной путь, но это все, кажется, вариант сейчас.Однако GCR просто реализует API-интерфейс контейнера док-станции, поэтому, возможно, вы прочитаете этот документ , чтобы узнать, сможете ли вы найти / сделать что-то свое.

0 голосов
/ 30 ноября 2018

Для этого вы можете использовать пользовательский интерфейс Google Cloud.Рядом с панелью фильтра есть селектор столбцов, и у него есть опция для размера изображения.

После отображения столбца вы сможете упорядочить по размеру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...