1、常用删除镜像命令
# 根据镜像ID删除
# docker rmi imageId
# 根据镜像tag删除
# docker rmi imageTag
2、遇到一个镜像有多个tag,有的tag为<none>时,要删除这个tag包含<none>的镜像,可先用镜像ID设置成新tag
# 使用镜像ID打新tag
# docker tag imageId newTag
# 根据新tag删除镜像
# docker rmi new Tag
3、删除镜像报镜像不存在
有时docker images命令查出来的镜像,删除时报无法删除 Error:No such image:xxxxxx,此时可直接找到镜像文件进行删除:
# 进入docker文件所在目录,可查看docker配置文件中的 data-root
# cat /etc/docker/daemon.json |grep data-root
# 进入镜像文件目录
# cd cd image/overlay2/imagedb/content/sha256
# 查看待删除镜像的sha256
# docker inspect 镜像ID |grep Id | grep sha256
#例如:
# docker inspect fa95e45fe379|grep Id | grep sha256
"Id": "sha256:fa95e45fe379aae2818a988a94db3b3b8bd1493ad895c3c25afc19f78624bee0"
#根据sha256删除对应文件目录,镜像就删除了
#sudo rm -rf sha256值
4、清理无用镜像
# docker image prune -h
Flag shorthand -h has been deprecated, please use --help
Usage: docker image prune [OPTIONS]
Remove unused images
Options:
-a, --all Remove all unused images, not just dangling ones
--filter filter Provide filter values (e.g. 'until=<timestamp>')
-f, --force Do not prompt for confirmation
#此命令将删除没有标签且没有被容器使用的(dangling)镜像
# docker image prune
#此命令将删除所有没有被任何容器使用的镜像,使用此命令应慎用,因为可能会删除了待使用但还未使用的镜像。
# docker image prune -a