#はじめに
不要なimageはリソースのムダ使いに繋がる為、削除方法を忘備録として記載。
#前提条件
削除対象のDocker image:centos
#Docker image削除手順
###1.Docker image IDを確認する
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 470671670cac 4 months ago 237MB
IMAGE IDに表示されている470671670cac
が今回の削除対象のDocker image
IMAGE ID
470671670cac //←このIMAGE IDを指定する
###2.Docker imageの削除
Docker imageの削除は下記コマンドで実行可能
//$ docker rmi {削除対象のIMAGE ID}
$ docker rmi 470671670cac
Untagged: centos:latest
Untagged: centos@sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Deleted: sha256:470671670cac686c7cf0081e0b37da2e9f4f768ddc5f6a26102ccd1c6954c1ee
Deleted: sha256:0683de2821778aa9546bf3d3e6944df779daba1582631b7ea3517bb36f9e4007
Deletedと表示されていれば完了
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
#※以下のようにエラーが表示される場合
停止中のコンテナが利用しているimageのためエラーとなる為、先に停止中のコンテナを削除する必要がある
$ docker rmi 470671670cac
Error response from daemon: conflict: unable to delete 470671670cac (must be forced) - image is being used by stopped container 1ba05d50c062
###停止中のコンテナIDを確認する
$ docker ps
だと停止中のコンテナは表示されない
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ docker ps
に-a
をオプションをつけることで停止中のコンテナも表示することが可能
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
124b0dcc686a centos "/bin/bash" 32 minutes ago Exited (0) 32 minutes ago practical_ptolemy
下記コンテナIDが削除対象のコンテナID
CONTAINER ID
124b0dcc686a //←このCONTANER IDを利用する
###コンテナの削除
以下の方法で停止中のコンテナを削除することが可能
//$ docker rm {{CONTAINER ID}}
$ docker rm 124b0dcc686a
124b0dcc686a //←上手くいくとCONTANER IDが表示される
###改めてDocker imageの削除再実行
$ docker rmi 470671670cac
Untagged: centos:latest
Untagged: centos@sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Deleted: sha256:470671670cac686c7cf0081e0b37da2e9f4f768ddc5f6a26102ccd1c6954c1ee
Deleted: sha256:0683de2821778aa9546bf3d3e6944df779daba1582631b7ea3517bb36f9e4007
Deletedと表示されていれば完了
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE