1.根据REPOSITORY删除
# jre 为 REPOSITORY
docker rmi jre
# 强制删除
docker rmi -f jre
2.根据IMAGE ID删除
# aa71917f0484 为 IMAGE ID
docker rmi aa71917f0484
# 强制删除
docker rmi -f aa71917f0484
3.删除所有TAG为NONE的镜像
3.1此方法会找到TAG为NONE的镜像,然后找到其对应的IMAGEID,然后把所有是这个IMAGEID的镜像都删除
docker rmi (docker images | grep none | awk '{print $3}')
3.2此方法会删除那些TAG为NONE的镜像,不会去找IMAGEID再删除
# docker rmi $(docker images -q -f "dangling=true")
4.删除相同IMAGEID但是TAG为NONE的镜像
如下图这种,试了3.2的方式,删除不掉
查看一下两者的digest有何区别:
docker images --digests
可以根据digest删除镜像:
#docker rmi REPOSITORY@<DIGEST>
docker rmi docker.io/centos@sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
5.删除丢失的镜像(docker版本:18.03.0-ce)
升级docker版本之后,有几个镜像能用 docker images 查到,但是删除时报:Error: No such image
删除方法,删除下面文件夹内的相关文件,我这里全部删除,请谨慎操作:
rm -rf /var/lib/docker/containers/*
rm -rf /var/lib/docker/image/*
rm -rf /var/lib/docker/overlay2/*