我在努力

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


当前回答

对我来说有用的是使用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

其他回答

# docker rm $(docker ps -aq)

之后,按照阮的建议使用命令。

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

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

之后,运行:

docker rmi c565603bc87f

请运行docker命令

Docker image rm -f $(Docker image ls——filter悬挂=true -q)

然后运行

Docker镜像rm -f $(Docker镜像ls -a -q)

在工作了几个小时后,我发现上面的命令非常有用。

否则,您可以运行剪枝脚本。 https://gist.github.com/sethbergman/cb0f1f700b1f6474b9738191055c9fb7

假设我们有一个Dockerfile

FROM ubuntu:trusty
CMD ping localhost

我们在没有TAG或命名的情况下构建图像

docker build .

现在我们有一个成功报告“成功构建57ca5ce94d04” 如果我们看到docker图像

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              57ca5ce94d04        18 seconds ago      188MB
ubuntu              trusty              8789038981bc        11 days ago         188MB

我们需要先移除 Docker rmi 57ca5ce94d04

紧随其后的是

docker rmi 8789038981bc

由该图像将被删除!

某人建议的强制迁移

docker rmi $(docker images -q) -f

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

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

然后按顺序删除子图像。