我在努力

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


当前回答

如果你想取消Docker图像的标签

docker rmi <rep:tag>

如果你想删除Docker镜像

docker image rm <image_id>

例如:输入docker image ls来显示图像的信息

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
python              3.6            60f85556d5d2        4 days ago          174MB

Docker rmi python:3.6

Docker镜像rm 60f85556d5d2

其他回答

只需简单地使用:

docker rmi <image:tag> -f

例如:

docker rmi ubuntu:latest -f 

将删除标签名为latest的映像名称ubuntu, -f是强制删除。

这对我很有效

在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 rmi $(docker images --filter "dangling=true" -q --no-trunc)

之后,运行:

docker rmi c565603bc87f

你可以这样做:

➜~出汗决议rmi 4ed13257bb55 + Deleted: sha256:4ed13257bb5512b975b316ef482592482ca54018a7728ea1fc387e873a68c358 Deleted: sha256:4a478ca02e8d2336595dcbed9c4ce034cd15f01229733e7d93a83fbb3a9026d3 Deleted: sha256:96df41d1ce6065cf75d05873fb1f9ea9fed0ca86addcfcec7722200ed3484c69 Deleted: sha256: d95efe864c7096c38757b80fddad12819fffd68ac3cc73333ebffaa42385fded

对我来说有用的是使用REPOSITORY:TAG组合而不是IMAGE ID。

当我试图用命令docker rmi < image ID>删除一个没有与此映像关联的容器的docker映像时,我得到了这样的消息:

$ docker rmi 3f66bec2c6bf
Error response from daemon: conflict: unable to delete 3f66bec2c6bf (cannot be forced) - image has dependent child images

当我使用命令docker rmi RPOSITORY:TAG时,我可以成功删除

$ docker rmi ubuntu:18.04v1
Untagged: ubuntu:18.04v1