docker buildx history ls コマンドでビルドレコードを一覧表示する方法

DockerDockerBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、docker buildx history ls コマンドを使用して Docker のビルドレコードを管理および表示する方法を学びます。まず、docker buildx build を使用して簡単な Docker イメージをビルドします。これにより、自動的にビルドレコードが作成されます。

イメージのビルド後、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 を使用してイメージをビルドすると、自動的にビルドレコードが作成されます。ビルドレコードには、ビルド引数、ビルドコンテキスト、生成されたイメージなど、ビルドに関する情報が含まれます。

まず、~/projectディレクトリに簡単な Dockerfile を作成しましょう。この 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、使用されたビルダー、ビルドステータス、ビルド所要時間、ビルド作成時刻などが含まれます。

前のステップでビルドしたイメージ (my-ubuntu-curl) に対応する少なくとも 1 つのエントリが出力に表示されるはずです。

docker buildx history ls コマンドは、ビルド活動の概要を把握したり、特定のビルドを識別したりするのに役立ちます。

--filter オプションを使用してビルドレコードをステータスでフィルタリング

このステップでは、docker buildx history ls コマンドに --filter オプションを追加して、ビルドレコードをステータスでフィルタリングする方法を学びます。これは、完了したビルドや失敗したビルドなど、特定のステータスを持つビルドのみを確認したい場合に便利です。

--filter オプションは key=value 形式のキーと値のペアを受け取ります。ステータスでフィルタリングするには、status キーを使用します。ステータスの有効な値には completerunningfailed などがあります。

最初のステップで実行したビルドは成功しているため、そのステータスは 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 の後にコロンとそのステータスを表示します。

異なるプレースホルダーとテキストを組み合わせることで、より複雑なフォーマットを作成できます。例えば、ビルダーと所要時間を表示するには:

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

さまざまなフォーマット文字列を試して、ニーズに合わせて出力をカスタマイズする方法を確認してください。

--local オプションを使用してローカルのビルドレコードを一覧表示する

このステップでは、docker buildx history ls コマンドに --local オプションを指定する方法を説明します。デフォルトでは、docker buildx history ls はすべてのビルダーからのビルドレコードを表示しますが、--local オプションを使用すると現在のビルダーインスタンスからのレコードのみに絞り込まれます。

ローカルのビルドレコードのみを表示するには、次のコマンドを実行します:

docker buildx history ls --local

この実験環境では、デフォルトのビルダーのみを使用しているため、docker buildx history lsdocker buildx history ls --local の出力は同じになる可能性があります。ただし、複数のビルダーが存在する環境では、特定のビルダーの履歴に注目する際にこのオプションが役立ちます。

これで、Docker Buildx のビルド履歴を一覧表示・フィルタリングする方法の解説は終了です。ビルドレコードの表示方法、ステータスによるフィルタリング、出力のフォーマット設定、そしてローカルビルダーからのレコード表示方法について学びました。

まとめ

この実験では、docker buildx history ls コマンドを使用してビルドレコードを管理する方法を学びました。まず docker buildx build を使用して簡単な Docker イメージをビルドし、自動的にビルドレコードが作成されることを確認しました。その後、docker buildx history ls を使用して利用可能なすべてのビルドレコードを一覧表示し、各ビルドに関連付けられた情報を確認しました。

さらに、--filter オプションを使用してステータスに基づいてビルドレコードをフィルタリングする方法や、--format オプションを使用して出力形式をカスタマイズする方法など、docker buildx history ls の機能について詳しく調べました。最後に、--local オプションを使用してローカルのビルドレコードのみを一覧表示する方法を学び、Docker Buildx のビルド履歴を管理・検査する包括的な概要を理解しました。