0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dockerの不要なデータを削除する方法

0
Posted at

概要

Dockerを使っていると、Build Cacheや不要なイメージ、コンテナ、ボリュームがたまりディスク容量を圧迫することがある。本記事では、これらの不要なデータを削除する方法を紹介する。

動作確認環境

  • Ubuntu 22.04 x86_64
  • Docker
    Client: Docker Engine - Community
     Version:           28.2.2
     API version:       1.50
     Go version:        go1.24.3
     Git commit:        e6534b4
     Built:             Fri May 30 12:07:28 2025
     OS/Arch:           linux/amd64
     Context:           default
    
    Server: Docker Engine - Community
     Engine:
      Version:          28.2.2
      API version:      1.50 (minimum version 1.24)
      Go version:       go1.24.3
      Git commit:       45873be
      Built:            Fri May 30 12:07:28 2025
      OS/Arch:          linux/amd64
      Experimental:     false
     containerd:
      Version:          1.7.27
      GitCommit:        05044ec0a9a75232cad458027ca83437aae3f4da
     runc:
      Version:          1.2.5
      GitCommit:        v1.2.5-0-g59923ef
     docker-init:
      Version:          0.19.0
      GitCommit:        de40ad0
    

方法

現状の確認

以下のコマンドで何に容量を使っているか確認する。

docker system df

以下のように、TYPEごとに利用容量を確認できる。また、RECLAIMABLEは削除可能な容量の目安である。

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          142       19        773.7GB   685.1GB (88%)
Containers      29        13        28.29GB   28.22GB (99%)
Local Volumes   7         7         51.41GB   0B (0%)
Build Cache     1586      0         363.9GB   363.9GB

イメージの削除

タグが付いていない(dangling)イメージは以下で削除できる。

docker image prune

以下のような警告がでるので、yキーを押すと削除が実行される。

WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]

削減された量が表示される。

Total reclaimed space: xxxB

docker image prune はタグが付いていない (dangling) イメージのみ削除する。使用されていないすべてのイメージを削除したい場合は docker image prune -a を使用する。

ローカルボリュームの削除

どのコンテナからも参照されていないローカルボリュームを以下コマンドで削除できる。

docker volume prune

以下のような警告がでるので、yキーを押すと削除が実行される。

WARNING! This will remove anonymous local volumes not used by at least one container.
Are you sure you want to continue? [y/N]

削減された量が表示される。

Total reclaimed space: xxxB

BuildKitのビルドキャッシュの削除

以下の2つのコマンドでBuildKitビルドキャッシュを削除できる。

  • docker buildx prune
  • docker builder prune

通常のDocker DesktopやDocker Engineでは両者は同じBuildKitキャッシュを指すことが多いが、buildxで複数BuilderやリモートBuilderを利用している場合は管理対象が異なる。

docker buildx pruneによるビルドキャッシュ削除

以下のコマンドでBuildKitビルドキャッシュを削除する。

docker buildx prune

以下のような警告がでるので、yキーを押すと削除が実行される。

WARNING! This will remove all dangling build cache. Are you sure you want to continue? [y/N]

削減された量が表示される。

Total:  xxxB

docker builder pruneによるビルドキャッシュ削除

以下のコマンドでBuildKitビルドキャッシュを削除する。

docker builder prune

以下のような警告がでるので、yキーを押すと削除が実行される。

WARNING! This will remove all dangling build cache. Are you sure you want to continue? [y/N] y

削減された量が表示される。

Total:  xxxB

【参考情報】buildx pruneとbuilder pruneの違い

項目 docker builder prune docker buildx prune
対象 BuildKitのビルドキャッシュ Buildxが管理するBuildKitキャッシュ
登場時期 Docker Engine標準 buildxプラグイン
マルチプラットフォーム対応 限定的
リモートBuilder対応 ×
builder指定 × ○ (--builder)
通常のローカル環境 ほぼ同じ ほぼ同じ

まとめ

DockerのBuild Cacheや不要なイメージ、コンテナ、ボリュームを削除する方法を紹介した。Dockerの利用でディスクを逼迫している場合に有用なので試してみてほしい。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?