問題
Docker イメージを削除しようとすると、次のようなエラーが発生します。
# docker rmi d123f4e55e12 Error response from daemon: conflict: unable to delete d123f4e55e12 (cannot be forced) - image is being used by running container 0f1262bd1285
このエラーが発生するには、イメージに依存するコンテナーがシステム上に存在する必要があります。このエラーは、イメージを使用しているコンテナーを報告します。イメージを削除する前にコンテナーを削除してください。
解決策
1. Docker ハブから Docker ノードにプルされたいくつかの Docker イメージがあります。そして、docker ノードから centos イメージを削除したいと考えています。
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE fedora latest 422dc563ca32 3 days ago 252MB ubuntu latest dd6f76d9cc90 13 days ago 122MB hello-world latest 725dcfab7d63 2 weeks ago 1.84kB centos latest d123f4e55e12 2 weeks ago 197MB
2. centos イメージを使用しているコンテナーを見つけるには、次のコマンドを使用します。
# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0f1262bd1285 centos "/bin/bash" 5 minutes ago Up 5 minutes dreamy_gates
上記の出力からわかるように、Docker コンテナー「dreamy_gates」は当社の centos イメージを使用しています。
3. まず、コンテナ「dreamy_gates」を停止する必要があります。これを行うには、以下のコマンドを使用します:
# docker stop 0f1262bd1285 0f1262bd1285
4. これで、Docker コンテナーを削除できます。
# docker rm 0f1262bd1285 0f1262bd1285
5. 最後に、centos の Docker イメージを削除できます。
# docker rmi d123f4e55e12 Untagged: centos:latest Untagged: centos@sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a Deleted: sha256:d123f4e55e1200156d9cbcf4421ff6d818576e4f1e29320a408c72f022cfd0b1 Deleted: sha256:cf516324493c00941ac20020801553e87ed24c564fb3f269409ad138945948d4
6. コマンド「docker images」を使用してイメージが削除されたことを確認します。
# docker images
Linux で Docker イメージを一覧表示 / 検索 / プルする方法
CentOS / RHEL / Fedora での Docker Search コマンド エラー – “getsockopt:no route to host” の解決方法