我在努力

docker rmi c565603bc87f

错误:

来自守护进程的错误响应:冲突:无法删除c565603bc87f (不能强制)- image有依赖的子映像

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

Linux和docker版本:

uname - 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

码头工人版本 客户: 版本:1.11.2 API版本:1.23 Go版本:go1.5.4 Git提交:b9f10c9 建成:2016年6月1日星期三22:00:43 OS /拱:linux / amd64

服务器: 版本:1.11.2 API版本:1.23 Go版本:go1.5.4 Git提交:b9f10c9 建成:2016年6月1日星期三22:00:43 OS /拱:linux / amd64


当前回答

正在删除镜像id: b721d1cdaac7

 docker rmi b721d1cdaac7 -f

响应:来自守护进程的错误响应:冲突:无法删除b721d1cdaac7(不能强制)- image有依赖的子映像

删除所有子映像

docker image rm $(docker images --filter since=b721d1cdaac7 -q) -f

其他回答

强制删除图像列表(例如,不包括版本10)

Docker images | grep version | grep -v version10 > images.txt && for img in $(awk -F" " '{print $3}' /root/images.txt);码头工人做rmi吗 - f img美元;完成

这里的答案是找到所有的后代,这里有一个答案

docker我如何能得到依赖子图像的列表?

然后按顺序删除子图像。

在Simon Brady的蛮力方法的基础上,如果你没有大量的图像,你可以使用这个shell函数:

recursive_remove_image() {
  for image in $(docker images --quiet --filter "since=${1}")
  do
    if [ $(docker history --quiet ${image} | grep ${1}) ]
    then
      recursive_remove_image "${image}"
    fi
  done
  echo "Removing: ${1}"
  docker rmi -f ${1}
}

然后使用recursive_remove_image <image-id>调用它。

图像层:存储库通常被称为图像或容器图像,但实际上它们由一个或多个层组成。存储库中的映像层以父子关系连接在一起。每个图像层表示自己和父层之间的变化。

docker构建模式使用继承。这意味着版本i依赖于版本i-1。因此,我们必须删除版本i+1才能删除版本i。这是一个简单的依赖关系。

如果你想删除所有图像,除了最后一个(最新的)和第一个(基础),然后我们可以导出最后一个(最新的一个)使用docker保存命令如下所示。

docker save -o <output_file> <your_image-id> | gzip <output_file>.tgz

然后,现在,使用image-id删除所有图像,如下所示。

docker rm -f <image-id i> | docker rm -f <image i-1> | docker rm -f <image-id i-2> ... <docker rm -f <image-id i-k> # where i-k = 1

现在,如下所示加载您保存的tgz图像。

gzip -c <output_file.tgz> | docker load

使用docker ps -q查看加载图像的image-id。它没有标签和名字。您可以简单地更新标签和名称,如下所示。

docker tag <image_id> group_name/name:tag

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

docker ps -a -f status=exited:该命令显示所有退出的容器,因此复制container Id,然后运行以下命令删除container

这个命令删除容器,这可能是提到“镜像有依赖的子图像”的问题。

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

码头工人 RMI #ImageId