GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Dockerイメージをクリーンアップおよび削除する方法

Dockerイメージは非常に大きくなる可能性があり、コンテナーを頻繁に操作する場合は、ストレージの多くを占有している可能性があります。ダウンロードした画像をクリーンアップし、不要な古いファイルを削除する方法について説明します。

DockerイメージとDockerコンテナ

Docker Imagesは、コンテナーとは異なる方法でデータを処理します。イメージは、Dockerfileからビルドされ、DockerHubにプッシュされる読み取り専用ファイルです。新しいバージョンをダウンロードするたびに、Dockerはその新しいバージョンのファイルをダウンロードする必要があります。古いバージョンは引き続きローカルドライブに保存されます。

コンテナはイメージから作成され、通常、独自のファイルシステムとボリュームがアタッチされています。コンテナを停止すると、ボリュームに保存されていないデータはすべて削除されます。したがって、コンテナによって使用されるデータをクリーンアップするには、コンテナを停止してボリュームを削除するだけです。

イメージをクリーンアップするために、Dockerはガベージコレクションを実行するためのいくつかのコマンドを提供します。

画像の剪定

古いバージョンのイメージであろうと、アクティブに実行されていないコンテナからのイメージであろうと、必然的に使用されていないイメージになってしまいます。いずれの場合も、通常、イメージを削除しても問題はありません。再度必要になった場合、Dockerはリモートリポジトリからイメージをフェッチするだけです。

システムに保存されているすべての画像を表示するには、次のコマンドを使用できます。

docker image ls

これらすべてのバージョンがこの出力で大量のスペースを占めるように見えますが、異なるバージョンが段階的に保存されるため、実際には新しいバージョンからの変更のみがディスクに保存されます。

画像IDを指定して、画像を手動で削除できます:

docker image rm 3a8d8f76e7f8f

ただし、はるかに安全な方法は、組み込みのpruneを使用することです。 コマンド。すべての画像を検索して、アクティブな参照がない画像を見つけて削除します。

docker image prune -a

-aを省略します タグは、タグ付けされているが使用されていない画像を保持します。フラグを付けると、アクティブに使用している画像のみが残ります。

prune コマンドは解放されたスペースの量を示しますが、Dockerが前後に使用しているストレージの量を手動で確認する場合は、du -shを使用できます。 Dockerストレージディレクトリ:

sudo du -sh /var/lib/docker/

このディレクトリは、C:ProgramDataDockerDesktopにあります。 Windowsおよび~/Library/Containers/com.docker.docker/Data/vms/0/の場合 macOSで。


Docker
  1. LinuxでDockerイメージを検索、プル、リスト、および削除する方法

  2. Dockerイメージ、コンテナー、およびDockerファイルを詳細に使用する方法

  3. Dockerイメージを他の人と共有する方法

  1. ホスト間でDockerイメージを移動する方法

  2. リモートDockerホストを使用する方法と理由

  3. Dockerイメージを変更する方法

  1. Dockerキャッシュ–クリーンなイメージの再構築とDockerキャッシュのクリアを行う方法

  2. すべてのDockerイメージ、コンテナー、ボリューム、ネットワーク、および未使用のリソースを削除する方法

  3. Dockerコンテナをエクスポートおよびインポートする方法