はじめに
この実験では、Docker が消費するディスク領域を効果的に監視および管理する方法を学びます。docker system df コマンドを調査し、イメージ、コンテナ、ボリューム、およびビルドキャッシュ全体のディスク使用量の概要を確認します。
概要を確認した後、大量の領域を消費している特定のコンポーネントを特定するために、より詳細な表示を調べます。最後に、docker system df の出力を JSON 形式に変換して、スクリプトや監視ツールへの解析と統合を容易にする方法を学びます。
Docker のディスク使用量の概要を確認する
このステップでは、Docker のディスク使用量の概要を確認する方法を学びます。Docker は、イメージ、コンテナ、ボリューム、およびビルドキャッシュを保存するためにディスク領域を使用します。システムのディスクが不足するのを防ぐために、ディスク使用量を監視することは重要です。
docker system df コマンドは、さまざまな Docker コンポーネントが使用するディスク領域の概要を提供します。このコマンドを実行して、現在のディスク使用量を確認しましょう。
docker system df
以下のような出力が表示されるはずです。
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images X X X X
Containers X X X X
Local Volumes X X X X
Build Cache X X X X
この出力は、イメージ、コンテナ、ローカルボリューム、およびビルドキャッシュについて、アイテムの総数、アクティブなアイテムの数、消費された総サイズ、および未使用のアイテムを削除することで回収できる領域の量を示しています。
Docker の詳細なディスク使用量を確認する
前のステップでは、Docker のディスク使用量の概要を確認しました。次に、特定の Docker コンポーネントが消費するディスク領域に関するより詳細な情報を取得する方法を調べましょう。
イメージ、コンテナ、およびローカルボリュームに関する詳細情報を表示するには、docker system df -v コマンドを使用できます。-v フラグを使用すると、より詳細な出力が得られます。
このコマンドを実行しましょう。
docker system df -v
出力は概要表示よりも詳細になります。個々のイメージ、コンテナ、およびボリュームのリストが表示され、それらのサイズやその他の関連情報も表示されます。
たとえば、イメージのセクションは次のように表示される場合があります。
Images space usage:
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest abcdef123456 2 weeks ago 72.9MB
nginx latest fedcba654321 3 weeks ago 133MB
この詳細表示を使用すると、どの特定のイメージ、コンテナ、またはボリュームが最も多くのディスク領域を消費しているかを特定することができます。
docker system df の出力を JSON 形式にする
前のステップでは、人間が読みやすい形式で Docker のディスク使用量を表示する方法を学びました。場合によっては、この情報をプログラムで処理する必要があることがあります。Docker では、--format フラグを使用してコマンドの出力形式を指定できます。
docker system df の出力を JSON 形式で取得するには、--format json オプションを使用します。これは、スクリプト化や、Docker のディスク使用量情報を他のツールに統合する際に便利です。
JSON 形式オプションを指定してコマンドを実行しましょう。
docker system df --format json
出力は、各コンポーネント(イメージ、コンテナ、ローカルボリューム、ビルドキャッシュ)のディスク使用量を表すオブジェクトを含む JSON 配列になります。
たとえば、出力は次のようになる場合があります(読みやすくするために整形しています)。
[
{
"Type": "Images",
"Total": 2,
"Active": 2,
"Size": 205800000,
"Reclaimable": 0
},
{
"Type": "Containers",
"Total": 0,
"Active": 0,
"Size": 0,
"Reclaimable": 0
},
{
"Type": "Local Volumes",
"Total": 0,
"Active": 0,
"Size": 0,
"Reclaimable": 0
},
{
"Type": "Build Cache",
"Total": 0,
"Active": 0,
"Size": 0,
"Reclaimable": 0
}
]
この JSON 出力は、プログラミング言語や jq などのコマンドラインツールで簡単に解析し、さらに処理することができます。
まとめ
この実験では、docker system df コマンドを使用して Docker のディスク使用量を監視する方法を学びました。まず、Docker イメージ、コンテナ、ボリューム、およびビルドキャッシュが消費するディスク領域の概要を確認し、各コンポーネントの合計、アクティブな領域、サイズ、および回収可能な領域を理解しました。
続いて、docker system df に -v フラグを使用して、Docker のディスク使用量に関するより詳細な情報を取得する方法を調べました。この詳細な出力には、個々のイメージ、コンテナ、およびボリュームのリストが含まれており、ディスク領域を消費している特定の項目を特定することができます。



