无法删除图像与儿童

我在尝试

docker rmi c565603bc87f 

错误:

来自守护程序的错误响应:冲突:无法删除c565603bc87f(无法强制) – 图像具有相关子图像

所以即使使用-f标志我也不能删除图像。 如何删除图像,然后所有的孩子?

Linux和docker版本:

uname -a Linux goracio-pc 4.4.0-24-generic#43-Ubuntu SMP Wed Jun 8 19:27:37 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux

docker版本客户端:版本:1.11.2 API版本:1.23 Go版本:go1.5.4 Git commit:b9f10c9内置:Wed Jun 1 22:00:43 2016 OS / Arch:linux / amd64

Server:版本:1.11.2 API版本:1.23 Go版本:go1.5.4 Git commit:b9f10c9内置:Wed Jun 1 22:00:43 2016 OS / Arch:linux / amd64

find所有图像之后创build的所有图像的图像ID和父母id与以下内容:

 docker inspect --format='{{.Id}} {{.Parent}}' $(docker images --filter since=<image_id> -q) 

然后你打电话给命令:

 docker rmi {sub_image_id} 

“sub_image_id”是从属图像的ID

删除图像之前,您应该尝试删除不必要的图像:

 docker rmi $(sudo docker images --filter "dangling=true" -q --no-trunc) 

之后:

 docker rmi c565603bc87f 

这里的答案是find所有的后代孩子,这里有一个答案:

docker工我怎样才能得到依赖的孩子图像列表?

然后使用它来按顺序删除子图像。

我会更多的回复这个答案,并在稍后提供一个脚本。

我也有这个问题,我可以通过下面的命令解决问题。 这可能是因为,图像的容器正在运行或退出,所以在删除图像之前,您需要删除容器

docker ps -a -f status = exited:这个命令显示所有退出的容器,然后复制容器Id,然后运行下面的命令来移除容器

docker rm #containerId:此命令删除容器这可能是问题,提到“图像有依赖的子图像”

然后尝试使用下面的命令删除图像

docker rmi #ImageId

这肯定会起作用:

 docker rmi -f $(docker images -q)