LoginSignup
0
0

dockerの容量を整理する - docker system prune

Last updated at Posted at 2024-04-22

概要

dockerのコンテナをbuildしたり修正したりを何回かやっていると、システムの容量が圧迫してしまうことがあるので、コンテナがらみの容量整理の方法を備忘録として残します。

1. dockerシステムがどれくらい容量を使っているのか可視化する -> docker system df

docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          20        2         118GB     108GB (91%)
Containers      2         0         41.63kB   41.63kB (100%)
Local Volumes   0         0         0B        0B
Build Cache     378       0         6.546GB   6.546GB

2. 停止中のコンテナをすべて削除する -> docker rm $(docker ps -a -q)

docker rm $(docker ps -a -q)
7c608c7c83ff
917fa5206854

3. 停止中のコンテナと未使用のイメージ、ネットワーク、ボリュームをすべて削除する -> docker system prune

 docker system prune
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - unused build cache

Are you sure you want to continue? [y/N] y
Deleted Networks:
xxx
yyy

Deleted Images:
deleted: sha256:b056d03133698c6f31c79ec7d008ac934cc182d054e76055f189c9b7f6cf0d89
...

Deleted build cache objects:
x9ogq0nhdly7q1nj39dub3rl4
...

Total reclaimed space: 67.28GB

注意: docker system prune -a

docker system prune -a-aoptionを入れてしまうと、全てのコンテナが削除されてしまうため、使用していたコンテナがある場合、再度buildする必要があります。-aオプションを使用する際は注意が必要です。

なぜdockerの容量が圧迫されるのか(何が保存されていたのか)

Dockerは、ビルドプロセスを高速化するために、ビルドキャッシュを使用します。同じ命令を持つDockerfileを再ビルドする際に、キャッシュされたレイヤーを再利用することで、ビルド時間を短縮します。これは実際確かに強力で、少しだけ修正したDockerfileを構築する際は差分のところだけをbuildすることで数分節約することができます。代償としては、やはり容量の圧迫です。

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