このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Docker入門】コンテナとイメージを強制削除する

ここで、これまで作成したコンテナとイメージを、すべて削除しておきます。

docker system prune コマンド」を使って未使用のコンテナとイメージを削除してもよいのですが、ここでは、「docker container rm -f [コンテナ名]」コマンドを使ってコンテナを、「docker image rm -f [イメージ名]」コマンドを使ってイメージを削除していきます。

docker container rm -f [コンテナ名]

 「docker container rm」コマンドは、Dockerコンテナを削除するためのコマンドであり、「f」が指定される場合、通常は「force(強制)」の意味を持ちます。つまり、コンテナが実行中であっても強制的に削除することを意味します。一般的な使い方は以下のようになります。

【構文】
docker container rm -f [コンテナ名]

 通常の「docker container rm」コマンドは、実行中のコンテナを削除しようとするとエラーが発生しますが、 「-f」オプションを使用することで、強制的に削除することができます。ただし、この操作はコンテナが正常に終了していない場合にも適用されるため、慎重に使用する必要があります。

ローカルに存在するコンテナを確認します。

PS C:\Users\joeac> docker container ls -a
CONTAINER ID   IMAGE           COMMAND                    CREATED        STATUS                       PORTS     NAMES
c1fdc4b48a84   centos:latest   "/bin/bash"                21 hours ago   Exited (255) 8 minutes ago             centos-smp
3e2aaf829cc0   ubuntu-echo     "/bin/sh -c 'echo \"H…"   3 days ago     Exited (0) 3 days ago                  serene_pascal

 すべてのコンテナを「docker container rm -f [コンテナ名]」コマンドを使って削除します。NAME列でコンテナ名を確認しておきます。

PS C:\Users\joeac> docker container rm -f centos-smp
centos-smp
PS C:\Users\joeac> docker container rm -f serene_pascal
serene_pascal

Docker Desktopを使ってコンテナを削除する場合

「Containers」タブから削除ボタンを押すことでも、コンテナを削除できます。

docker image rm -f [コンテナ名][:タグ]

 「docker image rm」コマンドは、Dockerイメージを削除するためのコマンドであり、「-f」オプションは「force(強制)」を意味します。つまり、このオプションを指定することで、イメージが使用中であっても強制的に削除することができます。

【構文】
docker image rm -f [コンテナ名][:タグ]

 「-f」オプションはイメージが使用中であっても削除を試みるため、注意して使用する必要があります。通常、使用中のイメージを削除しようとするとエラーが発生しますが、「-f」オプションを使用することでそれを回避し、強制的に削除できます。ただし、削除する前にそのイメージが他のコンテナに依存していないかどうかを確認し、慎重に操作することが重要です。

ローカルに存在するイメージを確認します。

PS C:\Users\joeac> docker image ls
REPOSITORY                   TAG       IMAGE ID       CREATED        SIZE
infralinux1/centos-smp-img   1.0       303fb5d5c2a9   22 hours ago   231MB
ubuntu-echo                  latest    9a9568f10c24   2 weeks ago    77.9MB
infralinux1/ubuntu-smp       1.0       9a9568f10c24   2 weeks ago    77.9MB
ubuntu                       latest    ca2b0f26964c   2 weeks ago    77.9MB
centos                       latest    5d0da3dc9764   2 years ago    231MB

 すべてのコンテナを「docker image rm -f [コンテナ名]」コマンドを使って削除します。REPOSITORY列でコンテナ名を確認しておきます。

PS C:\Users\joeac> docker image rm -f infralinux1/centos-smp-img:1.0
Untagged: infralinux1/centos-smp-img:1.0
Untagged: infralinux1/centos-smp-img@sha256:000101fbf47c44603b193896b78edb46a78d5972b215ba9b9d091ee23a69a527
Deleted: sha256:303fb5d5c2a92645a859ac2ededb0294e0b9b4c019771c99f57a200fd997726d
Deleted: sha256:73637a031283b1ac22ccfd0f557f9b4d86c58ddfefe6b039f0ee3a57bbd29913
PS C:\Users\joeac> docker image rm -f ubuntu
Untagged: ubuntu:latest
Untagged: ubuntu@sha256:77906da86b60585ce12215807090eb327e7386c8fafb5402369e421f44eff17e
Deleted: sha256:ca2b0f26964cf2e80ba3e084d5983dab293fdb87485dc6445f3f7bbfc89d7459
PS C:\Users\joeac> docker image rm -f infralinux1/ubuntu-smp:1.0
Untagged: infralinux1/ubuntu-smp:1.0
Untagged: infralinux1/ubuntu-smp@sha256:e3be8338a6f55fb6f16d5a56a6eff6cb1a5b3ffce19f0bcbf151f64d8e50cc9c
PS C:\Users\joeac>
PS C:\Users\joeac> docker image rm -f ubuntu-echo
Untagged: ubuntu-echo:latest
Deleted: sha256:9a9568f10c243fe5494ae055466dfb32a286395bd65a78c14d860d6631c24af3
PS C:\Users\joeac> docker image rm -f centos
Untagged: centos:latest
Untagged: centos@sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Deleted: sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6
Deleted: sha256:74ddd0ec08fa43d09f32636ba91a0a3053b02cb4627c35051aff89f853606b59

Docker Desktopを使ってイメージを削除する場合

「Images」タブから削除ボタンを押すことでも、イメージを削除できます。