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」がなくなった
- 問題なく削除された
リファレンス
- docker rmi | Docker Documentation
- docker rmiコマンド
