【Docker】イメージが削除できない場合の強制削除オプション「-f」


Dockerコンテナを構築する際にコンテナイメージ(image)をダウンロードします。
このイメージですが、不要になれば削除することが可能ですが、たまにコンテナも削除しているのにイメージが削除できない時があります。

このような時にイメージを強制削除するのが「force」オプションとなります。

「Docker」イメージを強制削除する「-f」オプション

以下のようにdockerイメージがあり、不要なイメージを削除使用とします。
今回の例では「crazymax/ftpgrab 」と「ghcr.io/crazy-max/ftpgrab 」というイメージで共通のIDが「6b355a41dca4」となります。

$ docker images
REPOSITORY                              TAG       IMAGE ID       CREATED        SIZE
crazymax/ftpgrab                        latest    6b355a41dca4   3 weeks ago    20.7MB
ghcr.io/crazy-max/ftpgrab               latest    6b355a41dca4   3 weeks ago    20.7MB

イメージIDを指定して以下コマンドでイメージを削除しようとしてもエラーとなりイメージが削除できません。

$ docker rmi 6b355a41dca4
Error response from daemon: conflict: unable to delete 6b355a41dca4 (must be forced) - image is referenced in multiple repositories

削除対象のイメージは複数のリポジトリで参照されるようなので「強制削除」する必要があるとメッセージが帰ってきます。

以下のようにイメージは残ったまま

$ docker images
REPOSITORY                              TAG       IMAGE ID       CREATED        SIZE
crazymax/ftpgrab                        latest    6b355a41dca4   3 weeks ago    20.7MB
ghcr.io/crazy-max/ftpgrab               latest    6b355a41dca4   3 weeks ago    20.7MB

「-f」オプションをつけて強制削除

それでは以下コマンドで実際に強制削除オプション「-f」をつけてイメージを削除します。

$ docker rmi 6b355a41dca4  -f
Untagged: crazymax/ftpgrab:latest
Untagged: crazymax/ftpgrab@sha256:41fb8e50d287b189804c917275c521e2e5dd9ac203bf3db6b73555c4d0b7e942
Deleted: sha256:6b355a41dca42b17f79f9f06000045b34df4a8894f0cf26dca7f73853d69e8a8
Deleted: sha256:00c8397f4d0410a16861d6729685fafc924ab1042c67a224a603233e27d6de30
Deleted: sha256:40a26afc005c00fc4052dbf047d0153435e7c19538ccbf0310e642c50d58a292
Deleted: sha256:cb381a32b2296e4eb5af3f84092a2e6685e88adbc54ee0768a1a1010ce6376c7

イメージは削除されたことが確認できます。

$ docker images
REPOSITORY                              TAG       IMAGE ID       CREATED        SIZE

Dockerイメージの強制削除は以上となります。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!