docker buildx du コマンドでディスク使用量を確認する方法

DockerDockerBeginner
今すぐ練習

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

はじめに

この実験では、Docker ビルドキャッシュのディスク使用量を調査・理解するためにdocker buildx duコマンドを効果的に使用する方法を学びます。まず現在のビルダーの基本的なディスク使用量を確認し、CACHE IDSIZELAST ACCESSEDといった出力列の意味を理解します。

さらに、詳細な出力を使用して個々のキャッシュレコードに関するより詳細な情報を取得する方法や、特定のビルダーインスタンスのディスク使用量を確認する方法を探求します。これにより、ビルドキャッシュをより効果的に管理・最適化できるようになります。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker(("Docker")) -.-> docker/DockerfileGroup(["Dockerfile"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/SystemManagementGroup -.-> docker/system("Manage Docker") docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/ls -.-> lab-555048{{"docker buildx du コマンドでディスク使用量を確認する方法"}} docker/system -.-> lab-555048{{"docker buildx du コマンドでディスク使用量を確認する方法"}} docker/build -.-> lab-555048{{"docker buildx du コマンドでディスク使用量を確認する方法"}} end

現在のビルダーのディスク使用量を表示

このステップでは、現在の Docker ビルダーのディスク使用量を確認する方法を学びます。docker buildx duコマンドはビルドキャッシュのディスク使用量を表示するために使用されます。これはビルドキャッシュが消費しているスペースを理解し、クリーンアップが必要な領域を特定するのに役立ちます。

まず、オプションを指定せずにdocker buildx duコマンドを実行し、現在のビルダーの基本的なディスク使用量情報を確認しましょう。

docker buildx du

以下のような出力が表示され、ビルドキャッシュの合計サイズが確認できます。正確なサイズはこれまでのビルド活動によって異なります。

CACHE ID                                    SIZE      LAST ACCESSED
... (output will vary)
TOTAL: 123.4MB

この出力には、キャッシュエントリの ID、サイズ、最終アクセス時間がリスト表示されます。最後のTOTAL行は、現在のビルダーのビルドキャッシュが使用している合計ディスク容量を示しています。

docker buildx du の出力を理解する

前のステップでは、docker buildx du コマンドを実行し、キャッシュエントリと合計サイズを示す出力を確認しました。このステップでは、出力内の各列についてより深く理解していきます。

再度出力を見てみましょう:

CACHE ID                                    SIZE      LAST ACCESSED
... (output will vary)
TOTAL: 123.4MB
  • CACHE ID: 各キャッシュエントリの一意な識別子です。これらの ID は BuildKit によって生成され、ビルドプロセス内の異なるレイヤーやステージを表します。
  • SIZE: 特定のキャッシュエントリのサイズを示します。これはそのキャッシュされたレイヤーやステージが消費しているディスク容量です。
  • LAST ACCESSED: このキャッシュエントリが最後にビルドで使用された時刻を示します。この情報は、もはや使用されていないキャッシュエントリを特定し、スペースを解放するために削除可能か判断するのに役立ちます。

最下部のTOTAL行は、リストされた全てのキャッシュエントリのサイズの合計を示しており、現在のビルダーのビルドキャッシュ全体のディスク使用量がわかります。これらの列を理解することで、ビルドキャッシュを分析し、そのサイズを効果的に管理できるようになります。

詳細出力を使用してディスク使用量レコードを検査する

このステップでは、docker buildx du コマンドに詳細出力オプションを使用して、ビルドキャッシュエントリに関するより詳細な情報を取得する方法を学びます。詳細出力は、デバッグやキャッシュレイヤーの起源を理解するのに役立つ追加情報を提供します。

詳細出力を取得するには、docker buildx du コマンドに -v または --verbose フラグを指定します:

docker buildx du -v

これにより、出力に USAGEDESCRIPTION などの追加列が含まれるようになります(キャッシュエントリの種類によって異なる場合があります)。

CACHE ID                                    SIZE      LAST ACCESSED   USAGE     DESCRIPTION
... (output will vary)
TOTAL: 123.4MB
  • USAGE: この列には、キャッシュエントリがどのように使用または参照されているかに関する情報が含まれる場合があります。
  • DESCRIPTION: この列には、このキャッシュエントリを生成したビルドステップや命令の説明が記載されていることが多くあります。これは、Dockerfile やビルドプロセスのどの部分がキャッシュサイズに寄与しているかを特定するのに非常に役立ちます。

詳細出力の DESCRIPTION 列を調べることで、各キャッシュエントリに対応する特定のビルド命令(RUNCOPY など)を確認できます。これにより、ビルドキャッシュの構造を理解し、Dockerfile を最適化してキャッシュサイズを削減できる可能性のある領域を特定できます。

特定のビルダーインスタンスのディスク使用量を確認する

このステップでは、特定の Docker ビルダーインスタンスのディスク使用量を確認する方法を学びます。デフォルトでは、docker buildx duは現在アクティブなビルダーのディスク使用量を表示します。しかし、複数のビルダーインスタンスが設定されている場合、別のビルダーのキャッシュ使用量を確認したいことがあります。

まず、確認したいビルダーを特定するために、利用可能なビルダーインスタンスを一覧表示しましょう。docker buildx lsコマンドを使用します:

docker buildx ls

出力にはビルダーインスタンスの一覧が表示されます。確認したいビルダーの名前をNAME列で探してください。現在アクティブなビルダーにはアスタリスク (*) が付いています。

NAME/NODE       DRIVER/ENDPOINT             STATUS   BUILDKIT             PLATFORMS
default *       docker                      running  v0.10.5+a34f333b1f   linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6
mybuilder       docker-container            running  v0.10.5+a34f333b1f   linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6

特定のビルダーインスタンスのディスク使用量を確認するには、--builderフラグの後にビルダー名を指定します。例えば、mybuilderという名前のビルダーの場合、次のように実行します:

docker buildx du --builder mybuilder

mybuilderの部分を実際に確認したいビルダーインスタンスの名前に置き換えてください。このコマンドは、そのビルダーインスタンスに関連付けられたキャッシュのディスク使用量を表示します。異なるビルダー設定で作業している場合や、特定のビルド環境のキャッシュ使用量を分離したい場合に便利です。

まとめ

この実験では、Docker ビルドキャッシュのディスク使用量を確認するためにdocker buildx duコマンドを使用する方法を学びました。まず基本的なコマンドを実行して、合計サイズとキャッシュエントリの一覧を確認しました。

次に、CACHE IDSIZELAST ACCESSEDといった出力列について深く理解し、個々のキャッシュエントリに関する詳細情報を得ました。また、詳細出力 (-v) を使用して各キャッシュエントリのより詳細なレコードを確認する方法や、ビルダーインスタンス名を指定して特定のビルダーインスタンスのディスク使用量をチェックする方法も学びました。