Docker でローカルイメージを削除する
- Docker で未使用でぶら下がっているローカルイメージを削除する
- Docker で特定のローカルイメージを削除する
- Docker のフィルターを使用してタグなしローカルイメージを削除する
- Docker ですべてのローカルイメージを削除する
このチュートリアルでは、Docker でローカルイメージを削除する方法を紹介します。
Docker で未使用でぶら下がっているローカルイメージを削除する
タグなしの Docker イメージに加えて、未使用のイメージと、削除したいコンテナもあるとします。その場合は、以下に示すコマンドを選択してください。
$ docker system prune -a
このコマンドは、はい
を選択した場合、このコマンドが次のことを行うことを通知する警告を表示します。
- 停止したコンテナをすべて削除します。
- 少なくとも 1つのコンテナで使用されていないすべてのネットワークを削除します。
- 少なくとも 1つのコンテナが関連付けられていないすべてのイメージを削除します。
- すべてのキャッシュを削除します。
ただし、このコマンドが実行する必要のあるものに準拠しておらず、削除するだけの場合は、次のようにします。
- タグなしまたはぶら下がっているイメージ。
- 停止したコンテナ。
- ぶら下がっているキャッシュ;
- 少なくとも 1つのコンテナで使用されていないネットワーク。
この場合、以下に示すように、-a
タグを含めずに prune
コマンドを使用します。
$ docker system prune
Docker で特定のローカルイメージを削除する
また、ローカルシステムから特定のイメージを削除し、他のすべてのファイルをそのままにしておくこともできます。
その場合、削除したい特定のイメージのイメージ ID が必要になります。Docker デスクトップアプリケーションのイメージページからアクセスできます。
以下のコマンドを実行して、ターミナルまたは DockerCLI を使用してイメージ ID にアクセスすることもできます。
isaactonyloi@DESKTOP-HV44HT6:~$ docker images -a
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c316d5a335a5 3 weeks ago 142MB
イメージ ID を取得したので、次に示すように、イメージ ID に追加する docker rmi
コマンドを使用してその特定のイメージを削除できます。
$ docker rmi c316d5a335a5
出力:
Untagged: nginx:latest
Untagged: nginx@sha256:2834dc507516af02784808c5f48b7cbe38b8ed5d0f4837f16e78d00deb7e7767
Deleted: sha256:c316d5a335a5cf324b0dc83b3da82d7608724769f6454f6d9a621f3ec2534a5a
Deleted: sha256:67e568696593c33b4a15c9d81dc6f67499b8d973b88eb49b53d47bf4dbf4d187
Deleted: sha256:0f8d4e3d979c540644f248b4206cf540978166b095223bdc950628dca2e8f3f1
Deleted: sha256:5d75bfe8a7422476a495b27c8a1598d1206137631d350b8bdee13bc88f365282
Deleted: sha256:8284a9e28c625b2826efdd6160ea1ff7f710881a4a2afe1ef58a5eb51d3f919e
Deleted: sha256:89a1db9e1079b7574c1a707bc8c1fe04ff723bc71d4bca8bc48653e9a32186d2
Deleted: sha256:7d0ebbe3f5d26c1b5ec4d5dbb6fe3205d7061f9735080b0162d550530328abd6
Docker のフィルターを使用してタグなしローカルイメージを削除する
フィルタやワイルドカードを使用して、ぶら下がっているイメージ、つまりどのコンテナにも関連付けられていないイメージを識別することもできます。フィルタタグ -f
を使用して、dangling=true
の条件を満たすイメージを見つけることができます。
以下のコマンドは、どのコンテナにも関連付けられていないすべてのイメージを一覧表示する必要があります。ただし、システムにタグなしのイメージがない場合、コマンドはヘッダーのみを返すことに注意してください。
$ docker images -a -f dangling=true
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest c316d5a335a5 3 weeks ago 142MB
Docker ですべてのローカルイメージを削除する
-q
タグを使用すると、-a
タグと一緒に使用すると、ローカルシステム内のすべてのイメージ ID を取得して一覧表示できます。
$ docker images -a -q
54c9d81cbb44
c316d5a335a5
このコマンドを使用すると、docker rmi
の下にあるすべてのイメージを一覧表示して、システムからすべてのイメージを削除できます。このコマンドをネストしてすべてのイメージを削除する方法は次のとおりです。
$ docker rmi $(docker images -a -q)
出力:
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:669e010b58baf5beb2836b253c1fd5768333f0d1dbcb834f7c07a4dc93f474be
Deleted: sha256:54c9d81cbb440897908abdcaa98674db83444636c300170cfd211e40a66f704f
Deleted: sha256:36ffdceb4c77bf34325fb695e64ea447f688797f2f1e3af224c29593310578d2
Isaac Tony is a professional software developer and technical writer fascinated by Tech and productivity. He helps large technical organizations communicate their message clearly through writing.
LinkedIn