Docker:イメージが【削除できない】場合の対処


原因と対処

原因

  • 構文
    • docker rmi <REPOSITORI>:<TAG>
  • TAG(バージョン)を指定せずに実行した

対処

  • バージョンを指定して削除コマンド実行

うまくいく場合、いかない場合

  • TAGを指定なしでも削除できる場合がある
  • 理由
    • TAGのデフォルトはlatest
    • latestの記載は省略できる
    • docker rmi <REPOSITORI>はdocker rmi <REPOSITORI>:latestのように解釈される

具体例

削除できない状況の再現

イメージ表示

sudo docker images|sort
REPOSITORY                  TAG       IMAGE ID       CREATED        SIZE
alpine                      3.5       f80194ae2e0c   3 years ago    4MB
dockersamples/static-site   latest    f589ccde7957   5 years ago    191MB
hello-world                 latest    feb5d9fea6a5   4 months ago   13.3kB
ubuntu                      12.04     5b117edd0b76   4 years ago    104MB
  • docker images|sort
    • イメージを一覧表示
    • REPOSITORY列が「alpine」、TAG列が「3.5」のデータに注目

イメージ削除

sudo docker rmi alpine
Error: No such image: alpine
  • docker rmi alpine
    • 削除できない
    • そのようなイメージはない:「Error: No such image: alpine」
  • 理由
    • 削除コマンドのTAG名が省略されている
    • TAG名が補完されて「alpine:latest」を削除するコマンドになっている
    • REPOSITORY名「alpine」は存在するが、TAG名「latest」は存在しない

対処

イメージ削除(TAG名を指定)

sudo docker rmi alpine:3.5
Untagged: alpine:3.5
Untagged: alpine@sha256:66952b313e51c3bd1987d7c4ddf5dba9bc0fb6e524eed2448fa660246b3e76ec
Deleted: sha256:f80194ae2e0ccf0f098baa6b981396dfbffb16e6476164af72158577a7de2dd9
Deleted: sha256:f566c57e6f2da2364c14195c832b922fd8f4813fd139b8fe45e3454c16e33975
  • docker rmi alpine:3.5
    • 先ほどの指定は「alpine」
    • 正しい指定「alpine:3.5」でイメージ削除を実行
  • 削除が実行されたメッセージ:Deleted

イメージ表示

sudo docker images|sort
REPOSITORY                  TAG       IMAGE ID       CREATED        SIZE
dockersamples/static-site   latest    f589ccde7957   5 years ago    191MB
hello-world                 latest    feb5d9fea6a5   4 months ago   13.3kB
ubuntu                      12.04     5b117edd0b76   4 years ago    104MB
  • docker images|sort
    • 一覧表示から「alpine」がなくなった
    • 問題なく削除された

リファレンス


Posted by futa