# Docker のディスク使用量を減らす ビルドキャッシュの削除方法

> MangoDisk で Docker のビルドキャッシュ容量を確認し、イメージ、コンテナ、ボリュームを残して未使用キャッシュを削除。再ビルドの影響とディスクイメージの容量表示も解説します。

**Docker の容量の大半をビルドキャッシュが占めているなら、イメージ、コンテナ、ネットワーク、ボリュームを残したまま、未使用のキャッシュを削除できます。** Docker の `builder prune` はビルドキャッシュを削除するためのコマンドです。ただし、次のビルドで依存パッケージの再ダウンロードやデータの再生成が必要になる場合があります。「今は未使用」でも、「今後も不要」とは限りません。[Docker のビルドキャッシュ削除コマンド](https://docs.docker.com/reference/cli/docker/builder/prune/)

削除する前に容量を確認したい場合は、[MangoDisk](/ja) のディープクリーンアップを使えます。ローカルの Docker サービスに `default` コンテキストで接続してキャッシュ情報を取得し、推定容量を画面に表示します。実行するかどうかは自分で選び、削除には Docker の公式コマンドを使います。

## MangoDisk でビルドキャッシュを確認する

Docker の CLI でも容量の確認と削除はできます。MangoDisk では、この二つを画面上で行えます。推定容量と削除の影響を確認してから対象を選べるので、各 prune コマンドの引数や削除範囲を覚えておく必要がありません。

![Windows 日本語版 MangoDisk のディープクリーンアップ画面で、分類ごとの削除項目と推定容量を確認](https://assets.mangodisk.app/images/screenshots/windows/ja/light-01-deep-cleanup.jpg)

*画像はディープクリーンアップ画面の例で、後述する Docker の確認結果を撮影したものではありません。表示される項目はスキャン結果によって異なります。*

[ディープクリーンアップ](/ja/docs/features/deep-clean)で**標準スキャン**を実行し、**コンテナキャッシュ**にある **Dockerビルドキャッシュ**を確認します。この項目はデフォルトでは選択されません。スキャンだけでキャッシュが削除されることもありません。

削除するときは、次の順で確認します。

1. 実行中のビルドが終わるまで待ち、Docker サービスは起動したままにします。Docker Desktop も先に終了しないでください。
2. キャッシュの推定容量を確認し、次回の再ビルドや再ダウンロードにかかる時間を許容できるか判断します。
3. **すべて解除**を選び、**Dockerビルドキャッシュ**だけを選択します。削除計画を確認してから実行を確定します。

**この項目ではイメージ、コンテナ、ネットワーク、ボリュームは削除されません。ただし、プロジェクトごとにキャッシュを選ぶことはできません。** 現在の実装は `docker --context default builder prune --all --force` を実行し、デフォルトコンテキストで Docker が未使用と判断したビルドキャッシュを削除します。「古いプロジェクト一つのキャッシュだけを削除する」機能ではありません。[MangoDisk v1.1.7 の Docker クリーンアップ実装](https://github.com/harry0703/MangoDisk/blob/v1.1.7/src-tauri/crates/mangodisk-core/src/cleanup/cleaners/docker_build_cache.rs)

コンテキストは、Docker クライアントの接続先を定義する設定です。MangoDisk は `default` を明示的に使うため、ほかのコンテキストを選択していても、その接続先には切り替わりません。`default` の接続先にアクセスできなければ、通常のプレビューは取得できません。別のローカルコンテキスト、独自の Buildx ビルダー、リモートサービスは、この項目の対象外です。[Docker のコンテキストの説明](https://docs.docker.com/engine/manage-resources/contexts/)

キャッシュ情報の取得と削除には、Docker がインストールされ、サービスに接続できることが必要です。結果が表示されない場合は、まず接続を確認してください。結果がないだけで、Docker が容量を使っていないとは判断できません。

## 推定容量と実際に空く容量は別

MangoDisk のプレビューでは、Docker が**未使用で、共有されておらず、サイズがゼロではない**と報告するビルドキャッシュのレコードを合計します。共有データはこの推定値に含めません。イメージやキャッシュの表示サイズをすべて足しても、正確な合計使用量にはなりません。

2026 年 10 月 9 日に macOS 15.7.7 と Docker 29.1.3 で読み取り専用の確認を行ったところ、ビルドキャッシュは 134 件ありました。そのうち上記の条件を満たす 56 件の表示サイズを合計すると、約 **11.6 GB** でした。これは削除前の概算です。削除は実行しておらず、11.6 GB の空き容量が増えたという結果ではありません。

プレビューは削除する価値があるかを判断するための目安で、一件ずつ選択できるキャッシュ一覧ではありません。実行時には Docker が `builder prune --all` の規則に従って、削除できる未使用キャッシュを判断します。ホストの空き容量がどれだけ増えたかは、実行後に別途確認します。

## キャッシュと残すべきデータを区別する

ビルドキャッシュには、再利用できるビルド処理の結果や関連データが保存されます。プロジェクト、依存パッケージ、ビルド手順が変われば、キャッシュも変化します。容量が大きいだけで Docker の不具合とは限りません。[Docker のビルドキャッシュの説明](https://docs.docker.com/build/cache/)

<table>
<thead>
  <tr>
    <th>
      内容
    </th>
    
    <th>
      用途
    </th>
    
    <th>
      このガイドでの扱い
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      ビルドキャッシュ
    </td>
    
    <td>
      ビルド処理と関連データの再利用
    </td>
    
    <td>
      再ビルドの負担を許容できる場合に、未使用分を削除
    </td>
  </tr>
  
  <tr>
    <td>
      イメージ
    </td>
    
    <td>
      コンテナを作成するための実行環境
    </td>
    
    <td>
      残す
    </td>
  </tr>
  
  <tr>
    <td>
      コンテナ
    </td>
    
    <td>
      実行中または停止中のアプリケーション。必要なデータが残っていることもある
    </td>
    
    <td>
      残す。停止中でも不要とは限らない
    </td>
  </tr>
  
  <tr>
    <td>
      ボリューム
    </td>
    
    <td>
      データベースやアップロードファイルなどの永続データ
    </td>
    
    <td>
      残す。キャッシュとして扱わない
    </td>
  </tr>
</tbody>
</table>

ボリュームのライフサイクルはコンテナとは独立しています。現在どのコンテナも使っていなくても、必要なデータが保存されている場合があります。「未使用」という理由だけで削除しないでください。[Docker のボリュームの説明](https://docs.docker.com/engine/storage/volumes/)

ビルドキャッシュを残すべきかも、次の作業によって変わります。同じプロジェクトをすぐに何度もビルドする場合や、オフラインで作業する場合は、通常、残すほうが便利です。ディスク容量が不足し、依存パッケージを再取得できるときに削除を検討しましょう。

## 公式コマンドで容量を確認して削除する

ターミナルに慣れていれば、同じ接続先を直接確認できます。以下では MangoDisk の項目と同じ `default` を明示的に指定します。まず接続設定を確認し、ローカルの Docker サービスが対象になっていることを確かめます。

```sh
docker context ls
docker context inspect default
```

接続先を確認したら容量を調べ、必要に応じて詳細を表示します。ここまでは情報の取得だけで、削除は行いません。

```sh
docker --context default system df
docker --context default system df --verbose
```

イメージ、コンテナ、ボリューム、ビルドキャッシュの使用量を比較します。容量の大半がボリュームなら、ビルドキャッシュの削除だけでは主な原因を解決できません。まず保存されているデータを確認しましょう。[Docker のディスク使用量コマンド](https://docs.docker.com/reference/cli/docker/system/df/)

**この接続先にある未使用のビルドキャッシュをすべて削除してよく、再ビルドの影響も許容できることを確認してから**、次を実行します。

```sh
docker --context default builder prune --all
```

`--all` は dangling cache だけでなく、すべての未使用ビルドキャッシュを対象にします。この手動コマンドでは `--force` を付けていないため、Docker の確認プロンプトが表示されます。削除はゴミ箱を経由せず、そこからキャッシュを復元することはできません。必要なデータは、後のビルドで再生成します。[builder prune のオプション](https://docs.docker.com/reference/cli/docker/builder/prune/)

MangoDisk はアプリ内で削除を確定した後に `--force` を使うため、ターミナルの確認は追加で表示されません。現在の項目では、キャッシュの経過時間による絞り込みや、残す容量の指定はできません。必要な場合は Docker の公式オプションを使って個別に対応してください。

ビルドキャッシュだけを削除したいなら、`system prune` に置き換える必要はありません。こちらは停止中のコンテナ、未使用のネットワークやイメージも扱い、`--volumes` を加えると未使用の匿名ボリュームも対象になります。削除範囲が異なるため、同じコマンドとして扱わないでください。[system prune の削除範囲](https://docs.docker.com/reference/cli/docker/system/prune/)

## 削除後にキャッシュとディスク使用量を確認する

削除後は、同じコンテキストでもう一度確認します。

```sh
docker --context default system df
```

ビルドキャッシュの使用量を比較した後、OS のディスク空き容量も確認します。次のビルドでは、一部の手順の再実行、依存パッケージのダウンロード、キャッシュの再生成が必要になる場合があります。これは通常の動作なので、数字を小さく保つために毎回削除する必要はありません。

Mac 版 Docker Desktop では、**ディスクイメージの最大容量**と**実際のディスク使用量**を区別してください。Linux コンテナとイメージはディスクイメージに保存され、一部のツールは最大容量を表示します。**Settings → Resources → Advanced** で実際の使用量と上限を確認できます。[Docker Desktop for Mac のストレージ FAQ](https://docs.docker.com/desktop/troubleshoot-and-support/faqs/macfaqs/)

`Docker.raw` を通常のキャッシュファイルとして削除したり、表示を小さくするためだけに容量上限を下げたりしないでください。Docker の説明では、最大容量を減らすと既存のディスクイメージが削除され、コンテナとイメージが失われます。ビルドキャッシュだけを削除する操作とは異なります。

キャッシュが小さくなってもディスクがいっぱいなら、MangoDisk の[ディスク容量分析](/ja/docs/features/disk-analysis)でほかの大きなフォルダーを探します。元の素材、古いプロジェクトの依存パッケージ、別のツールのビルド成果物など、それぞれの用途を確認して対応しましょう。同じ Docker キャッシュを繰り返し削除する必要はありません。

ほかの開発ツールについては、[npm キャッシュと node_modules の違い](/ja/blog/clean-npm-cache)、[Cargo cache と target フォルダーの違い](/ja/blog/cargo-cache-vs-target-folder)、[開発環境のクリーンアップガイド](/ja/blog/topics/developer-cleanup)も参考にしてください。

ここで説明した製品の動作は MangoDisk v1.1.7 に基づきます。実行前に[安全性ガイド](/ja/docs/safety)を読み、削除計画と残すデータを確認してください。

[MangoDisk をダウンロード](/ja)して、まず Docker ビルドキャッシュの推定容量を確認しましょう。イメージ、コンテナ、ボリュームを残したまま、空けたい容量と次回のビルドにかかる負担を比較して判断できます。
