こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。
「Error: No such image: a7a5593ce840」と出力され、dockerイメージが削除できない事象があったので、その記録です。
削除できないdockerイメージ
以下のようにイメージに残っている「csrx/smarter-docker-whale latest a7a5593ce840」を削除したいのですが、
docker rmi(-fを付けても)削除できません。
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
csrx/smarter-docker-whale latest a7a5593ce840 2 years ago 275MB ・・・・削除したいイメージ
[root@localhost ~]# docker rmi csrx/smarter-docker-whale
Error: No such image: csrx/smarter-docker-whale
[root@localhost ~]# docker rmi a7a5593ce840
Error: No such image: a7a5593ce840
[root@localhost ~]# docker rmi -f a7a5593ce840
Error: No such image: a7a5593ce840
※docker rmiに関するドキュメント
docker rmi | Docker Documentation
プロセスが残っているかを確認
よくあるパターンとして、コンテナのプロセスが残ったままになっていることがあるので、docker psで確認します。
※-aオプションを付けて、起動していないものも含め。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
特に、プロセスはないようです。
※プロセスが残っていることが確認できた場合、docker stop / docker rmで停止・削除します。
ファイルシステム内から該当するコンテナ情報を検索
findなどを使い、ファイルシステム内から該当するコンテナのイメージIDなどをキーワードとして検索します。
検索すると、/var/lib/docker配下に何やらそれらしいものがあるので、削除します。
/var/lib/docker/image/overlay2/imagedb/content/sha256/a7a5593ce840a922a45e21e7bb0802de0d8336a5016417fdc75384a8c300078d
[root@localhost ~]# rm /var/lib/docker/image/overlay2/imagedb/content/sha256/a7a5593ce840a922a45e21e7bb0802de0d8336a5016417fdc75384a8c300078d
rm: 通常ファイル `/var/lib/docker/image/overlay2/imagedb/content/sha256/a7a5593ce840a922a45e21e7bb0802de0d8336a5016417fdc75384a8c300078d' を削除しますか?
y
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
なお、dockerの使い方などについては、以下の記事をご覧ください。
docker 〜Dockerfile を使用した、コンテナの作成・起動〜 - Opensourcetechブログ