このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Docker超入門:強制削除でDockerを整理!コンテナとイメージの管理

強制削除でDockerを整理!コンテナとイメージの管理
Dockerを使って開発していると、テスト用に作ったコンテナやイメージがどんどん溜まってしまうことがあります。
通常は停止中のコンテナや未使用のイメージだけを削除できますが、強制削除 を行いたいときに便利なのが docker container rm -f と docker image rm -f です。
ただし強制削除は慎重に扱わないと、必要な環境まで消してしまう危険があるので注意しましょう。

コンテナを強制削除する(docker container rm -f)
コマンドの書式
docker container rm -f [コンテナ名]コマンドの意味
- docker container rm … コンテナを削除する
- -f … 強制削除(実行中でも削除可能)
通常の docker container rm は実行中のコンテナを削除しようとするとエラーになりますが、-f を付けることで強制的に削除できます。
実行例
docker container rm -f ubuntu-smpこのコマンドを実行すると、実行中の ubuntu-smp コンテナが即座に削除されます。
主なオプション
| オプション | 説明 |
|---|---|
| -f | 強制削除。実行中のコンテナも削除する。 |
| -v | コンテナと一緒にボリュームも削除する。 |
実際の操作の流れ
1.docker container ls -a で削除対象のubuntu-smpコンテナの状態を確認
PS C:\Users\joeac> docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
078979d33132 ubuntu:latest "/bin/bash" 2 days ago Exited (255) 44 hours ago ubuntu-smp
bc9be182e8a6 ubuntu-echo "echo 'Hello Ubuntu'" 2 days ago Exited (0) 2 days ago cranky_dijkstraubuntu-smpコンテナが停止しています。
2.停止しているubuntu-smpコンテナを実行
PS C:\Users\joeac> docker container start ubuntu-smp3.docker container ls -a で削除対象のubuntu-smpコンテナの状態を再度確認
PS C:\Users\joeac> docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
078979d33132 ubuntu:latest "/bin/bash" 2 days ago Up 6 minutes ubuntu-smp
bc9be182e8a6 ubuntu-echo "echo 'Hello Ubuntu'" 2 days ago Exited (0) 2 days ago cranky_dijkstraSTATUSがUpになっており、実行状態であることが確認できます。
4.docker container rm -f ubuntu-smp で削除
PS C:\Users\joeac> docker container rm -f ubuntu-smp
ubuntu-smp-f を付けることで実行中のコンテナも強制的に削除できます。
5.docker container ls -a でコンテナの一覧を確認
PS C:\Users\joeac> docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bc9be182e8a6 ubuntu-echo "echo 'Hello Ubuntu'" 2 days ago Exited (0) 2 days ago cranky_dijkstra実行中のubuntu-smpコンテナが削除されていることが確認できます。
イメージを強制削除する(docker image rm -f)
コマンドの書式
docker image rm -f [イメージ名][:タグ]コマンドの意味
- docker image rm … イメージを削除する。
- -f … 強制削除。使用中でも削除可能
通常、イメージが他のコンテナに依存している場合は削除できませんが、-f を指定すると強制的に削除できます。
ただし、依存しているコンテナが壊れる可能性があるので要注意です。
実行例
docker image rm -f ubuntu-smpこのコマンドを実行すると、ubuntu-smp2 イメージが強制的に削除されます。
主なオプション
| オプション | 説明 |
|---|---|
| -f | 強制削除。依存関係があっても削除する。 |
| -a | すべてのイメージを削除する(使用には細心の注意が必要) |
実際の操作の流れ
1.docker image ls で削除対象のubuntu:latestイメージ一を確認
PS C:\Users\joeac> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu-smp2 latest 29f7dd0c5150 18 hours ago 118MB
infralinux1/ubuntu-smp-img 1.0 231a383336c0 2 days ago 117MB
ubuntu-echo latest 83e81b62b3c4 2 weeks ago 117MB
infralinux1/ubuntu-smp 1.0 83e81b62b3c4 2 weeks ago 117MB
ubuntu latest 353675e2a41b 2 weeks ago 117MB2.削除対象のubuntu:latestイメージに依存するコンテナを作成
PS C:\Users\joeac> docker container run --name ubuntu-smp -it -d ubuntu:latest
41107dc9e8f5b1583e6bf59c106d0472f79d09b7e1e7d34422744fea8b348d9e3.docker image rm -f [イメージ名] で削除
PS C:\Users\joeac> docker image rm -f ubuntu:latest
Untagged: ubuntu:latest-f を付けることで他のコンテナに依存するイメージも強制的に削除できます。
4.docker image ls でイメージの一覧を確認
PS C:\Users\joeac> docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu-smp2 latest 29f7dd0c5150 22 hours ago 118MB
infralinux1/ubuntu-smp-img 1.0 231a383336c0 2 days ago 117MB
infralinux1/ubuntu-smp 1.0 83e81b62b3c4 2 weeks ago 117MB
ubuntu-echo latest 83e81b62b3c4 2 weeks ago 117MB他のコンテナに依存するubuntu:latestイメージが削除されていることが確認できます。
export/import や save/load との違い
ここで紹介した rm -f は、コンテナやイメージを「完全に削除する」コマンドです。
一方で、保存やバックアップをしたい場合は docker save/load や docker export/import を使うのが適切です。
削除前にバックアップを取りたい場合は、必ずそちらを利用しましょう。
まとめ
- docker container rm -f … 実行中のコンテナを強制削除できる。
- docker image rm -f … 依存中でもイメージを強制削除できる。
- 強制削除は便利ですが、他の環境に影響を与えることもあるため慎重に扱う必要がある。
