Как использовать команду docker buildx history ls для вывода записей сборки

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

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

Введение

В этой лабораторной работе вы научитесь использовать команду docker buildx history ls для управления и просмотра записей сборки Docker. Мы начнём с создания простого Docker-образа с помощью docker buildx build, что автоматически создаст запись о сборке.

После сборки образа вы изучите, как вывести список всех записей сборки с помощью docker buildx history ls. Затем вы узнаете, как фильтровать эти записи по их статусу с использованием опции --filter, а также как настраивать формат вывода с помощью опции --format. В завершение вы обнаружите, как выводить только локальные записи сборки, используя опцию --local. Эта лабораторная работа даст вам практические навыки для отслеживания и анализа истории сборок Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/DockerfileGroup(["Dockerfile"]) docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/build -.-> lab-555053{{"Как использовать команду docker buildx history ls для вывода записей сборки"}} end

Создание простого образа для формирования записи сборки

На этом шаге мы соберём простой Docker-образ. Сборка образа с помощью Docker Buildx автоматически создаёт запись о сборке. Запись сборки содержит информацию о процессе, такую как аргументы сборки, контекст сборки и результирующий образ.

Сначала создадим простой Dockerfile в директории ~/project. Этот Dockerfile будет создавать образ на основе ubuntu с установленным curl.

cd ~/project
nano Dockerfile

Добавим следующее содержимое в Dockerfile:

FROM ubuntu:latest
RUN apt-get update && apt-get install -y curl

Сохраним и закроем файл.

Теперь соберём образ с помощью docker buildx build, присвоив ему тег my-ubuntu-curl.

docker buildx build -t my-ubuntu-curl .

Эта команда соберёт образ на основе Dockerfile в текущей директории (.) и присвоит ему тег my-ubuntu-curl. Docker Buildx автоматически создаст запись о данной сборке.

После завершения сборки вы увидите вывод, отображающий процесс сборки и успешное создание образа.

Просмотр всех записей сборки с помощью docker buildx history ls

На этом шаге мы научимся выводить список всех записей сборки с помощью команды docker buildx history ls. Как мы видели ранее, сборка образа через docker buildx build автоматически создаёт запись о сборке. Эти записи сохраняются и могут быть просмотрены для отслеживания истории сборок.

Чтобы вывести список всех записей сборки, выполните следующую команду:

docker buildx history ls

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

  • ID сборки
  • Используемый builder (сборщик)
  • Статус сборки
  • Длительность сборки
  • Время создания сборки

В выводе вы должны увидеть как минимум одну запись, соответствующую образу, который мы собрали на предыдущем шаге (my-ubuntu-curl).

Команда docker buildx history ls полезна для получения общего представления о вашей активности сборки и идентификации конкретных сборок.

Фильтрация записей сборки по статусу с помощью опции --filter

На этом шаге мы научимся фильтровать записи сборки по их статусу, используя опцию --filter с командой docker buildx history ls. Это полезно, когда нужно просмотреть только сборки с определённым статусом, например, успешно завершённые или неудачные.

Опция --filter принимает пару ключ-значение в формате ключ=значение. Для фильтрации по статусу мы используем ключ status. Возможные значения статуса включают complete, running, failed и другие.

Поскольку сборка, выполненная на первом шаге, была успешной, её статус должен быть complete. Отфильтруем историю сборок, чтобы показать только завершённые сборки:

docker buildx history ls --filter status=complete

Эта команда отобразит только записи сборок со статусом complete. В выводе вы должны увидеть запись для образа my-ubuntu-curl.

Если бы у вас были неудачные сборки, их можно было бы отфильтровать с помощью --filter status=failed.

Форматирование вывода записей сборки с помощью опции --format

На этом шаге мы научимся форматировать вывод команды docker buildx history ls с использованием опции --format. Это позволяет настраивать отображаемую информацию и формат её представления.

Опция --format принимает строку шаблона Go. Вы можете использовать плейсхолдеры, такие как .ID, .Builder, .Status, .Duration и .CreatedAt для включения конкретной информации из записи сборки.

Давайте отформатируем вывод, чтобы показать только ID сборки и её статус, разделённые двоеточием:

docker buildx history ls --format "{{.ID}}: {{.Status}}"

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

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

docker buildx history ls --format "Builder: {{.Builder}}, Duration: {{.Duration}}"

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

Вывод локальных записей сборки с помощью опции --local

На этом шаге мы рассмотрим использование опции --local с командой docker buildx history ls. По умолчанию docker buildx history ls выводит записи сборки со всех сборщиков (builders). Опция --local ограничивает вывод, показывая только записи сборки текущего экземпляра сборщика.

Для вывода только локальных записей сборки используйте следующую команду:

docker buildx history ls --local

В данной лабораторной среде, поскольку мы использовали только сборщик по умолчанию, вывод команд docker buildx history ls и docker buildx history ls --local скорее всего будет одинаковым. Однако в средах с несколькими сборщиками эта опция полезна для просмотра истории конкретного сборщика.

На этом завершается наше знакомство с выводом и фильтрацией истории сборок Docker Buildx. Теперь вы знаете, как просматривать записи сборок, фильтровать их по статусу, форматировать вывод и выводить записи локального сборщика.

Итоги

В этой лабораторной работе мы изучили, как использовать команду docker buildx history ls для управления записями сборки. Мы начали с создания простого Docker-образа с помощью docker buildx build, что автоматически создало запись о сборке. Затем мы использовали docker buildx history ls для вывода всех доступных записей сборки, наблюдая информацию, связанную с каждой сборкой.

Мы также исследовали возможности команды docker buildx history ls, научившись фильтровать записи сборки по их статусу с помощью опции --filter и настраивать формат вывода с помощью опции --format. В завершение мы узнали, как выводить только локальные записи сборки с помощью опции --local, получив полное представление об управлении и анализе истории сборок Docker Buildx.