Как использовать команду docker search для поиска образов

DockerDockerBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы научитесь эффективно использовать команду docker search для поиска контейнерных образов на Docker Hub. Вы начнете с выполнения базовых поисков образов по имени.

На основе базового поиска вы затем изучите параметры для отображения полных, не усеченных описаний результатов поиска. Кроме того, вы научитесь уточнять свои поиски, фильтруя результаты по таким критериям, как количество звезд и официальный статус. Наконец, вы узнаете, как ограничить количество отображаемых результатов и отформатировать выходные данные поиска с использованием шаблона Go для настраиваемого просмотра.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ImageOperationsGroup -.-> docker/search("Search Images in Repository") subgraph Lab Skills docker/search -.-> lab-555219{{"Как использовать команду docker search для поиска образов"}} end

Поиск образов на Docker Hub по имени

На этом этапе вы научитесь искать Docker-образы на Docker Hub с использованием команды docker search. Docker Hub - это облачная служба реестра, предоставляемая Docker, которая позволяет находить и делиться контейнерными образами.

Базовый синтаксис команды docker search выглядит следующим образом:

docker search [OPTIONS] TERM

Здесь TERM - это поисковый запрос, который вы хотите использовать для поиска образов.

Начнем с поиска образов, связанных с "ubuntu". Откройте терминал в среде LabEx и выполните следующую команду:

docker search ubuntu

Вы должны увидеть список образов, связанных с Ubuntu. Вывод обычно включает имя образа, описание, количество звезд (лайков), официальный статус и статус автоматической сборки.

Вывод может выглядеть примерно так (точный вывод может отличаться):

NAME                                                   DESCRIPTION                                       STARS     OFFICIAL   AUTOMATED
ubuntu                                                 Ubuntu is a Debian-based Linux operating sys...   15000     [OK]
ubuntu-upstart                                         Upstart is an event-based replacement for th...   50        [OK]
ubuntu/apache2                                         Apache2 web server                                60                   [OK]
ubuntu/nginx                                           Nginx web server                                  50                   [OK]
...

Эта команда ищет на Docker Hub образы, чьи имена или описания соответствуют запросу "ubuntu". Результаты отображаются в табличном формате.

Отображение не усеченного описания результатов поиска

На предыдущем этапе вы искали Docker-образы и заметили, что столбец с описанием может быть усечен, то есть полное описание не отображается. Чтобы увидеть полное описание, вы можете использовать опцию --no-trunc с командой docker search.

Попробуем снова поискать "ubuntu", но на этот раз мы будем использовать флаг --no-trunc для отображения полного описания.

docker search --no-trunc ubuntu

Посмотрите на вывод. Теперь вы должны увидеть полное описание каждого образа без каких-либо усечений. Это полезно, когда вам нужно прочитать полные сведения об образе перед тем, как решить использовать его.

Опция --no-trunc полезна для получения полной информации в выводе различных Docker-команд, а не только docker search.

Фильтрация результатов поиска по количеству звезд и официальному статусу

На этом этапе вы научитесь фильтровать результаты поиска по таким критериям, как количество звезд (лайков) и официальный статус образа. Это поможет вам найти более релевантные и надежные образы.

Вы можете использовать опцию --filter для применения фильтров к вашему поиску. Опция --filter принимает пару ключ=значение.

Для фильтрации по количеству звезд используйте ключ stars, за которым следует минимальное количество звезд, которое вы хотите. Например, чтобы найти образы Ubuntu с минимум 1000 звездами, выполните следующую команду:

docker search --filter stars=1000 ubuntu

Посмотрите на вывод. Теперь вы должны видеть только образы Ubuntu, которые имеют 1000 или более звезд.

Вы также можете отфильтровать официальные образы, используя ключ is-official со значением true. Официальные образы поддерживаются Docker или оригинальными поставщиками программного обеспечения и обычно считаются более надежными.

Чтобы найти официальные образы Ubuntu, используйте следующую команду:

docker search --filter is-official=true ubuntu

В выводе будут показаны только официальные образы Ubuntu.

Вы можете комбинировать несколько фильтров, используя опцию --filter несколько раз. Например, чтобы найти официальные образы Ubuntu с минимум 1000 звездами, вы должны использовать следующую команду:

docker search --filter is-official=true --filter stars=1000 ubuntu

Эта команда сузит результаты поиска и покажет только официальные образы Ubuntu, которые получили минимум 1000 звезд.

Ограничение количества результатов поиска

На этом этапе вы научитесь ограничивать количество результатов поиска, отображаемых командой docker search. Это полезно, когда вы ищете по широкому запросу и хотите увидеть только лучшие результаты.

Вы можете использовать опцию --limit, чтобы указать максимальное количество результатов для отображения. Опция --limit принимает целочисленное значение.

Например, чтобы найти "ubuntu" и ограничить результаты только пятью первыми, выполните следующую команду:

docker search --limit 5 ubuntu

Посмотрите на вывод. Теперь вы должны увидеть не более пяти результатов для вашего поискового запроса.

Вы можете комбинировать опцию --limit с другими опциями, такими как --filter и --no-trunc. Например, чтобы найти три лучших официальных образа Ubuntu с минимум 1000 звездами и отобразить их полные описания, вы должны использовать следующую команду:

docker search --filter is-official=true --filter stars=1000 --limit 3 --no-trunc ubuntu

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

Форматирование вывода поиска с использованием шаблона Go

На этом этапе вы научитесь форматировать вывод команды docker search с использованием шаблона Go. Это позволяет вам настраивать отображаемую информацию и ее представление.

Опция --format позволяет указать шаблон Go для форматирования вывода. Шаблоны Go являются мощными и гибкими инструментами для управления выводом.

Давайте отформатируем вывод так, чтобы отображались только имя образа и количество звезд, разделенные табуляцией. Шаблон будет выглядеть так: {{.Name}}\t{{.Stars}}.

Выполните следующую команду, чтобы найти "ubuntu" и отформатировать вывод:

docker search --format "{{.Name}}\t{{.Stars}}" ubuntu

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

Давайте попробуем более сложный шаблон, чтобы отобразить имя, официальный статус и описание, каждый на отдельной строке. Шаблон будет таким: Name: {{.Name}}\nOfficial: {{.IsOfficial}}\nDescription: {{.Description}}\n.

docker search --format "Name: {{.Name}}\nOfficial: {{.IsOfficial}}\nDescription: {{.Description}}\n" --limit 3 ubuntu

Эта команда отобразит имя, официальный статус и описание для трех лучших образов Ubuntu, причем каждая часть информации будет на отдельной строке. Мы также добавили опцию --limit 3, чтобы вывод был компактным.

Использование шаблонов Go представляет собой мощный способ извлекать и представлять конкретную информацию, которая вам нужна из результатов поиска docker search.

Итоги

В этом практическом занятии вы научились использовать команду docker search для поиска Docker-образов на Docker Hub. Вы начали с выполнения базового поиска образов по имени, наблюдая за форматом вывода по умолчанию, который включает имя, описание, количество звезд, официальный статус и статус автоматической сборки.

Затем вы изучили, как отобразить полное, не усеченное описание результатов поиска с использованием опции --no-trunc. Кроме того, вы научились уточнять свои поиски, фильтруя результаты по количеству звезд и официальному статусу, а также ограничивать количество отображаемых результатов. Наконец, вы узнали, как настроить формат вывода результатов поиска с использованием шаблона Go.