このページで解説している内容は、以下の 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」タブから削除ボタンを押すことでも、イメージを削除できます。