我有以下图片:

alex@alexvps:~$ sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>              <none>              70c0e19168cf        5 days ago          1.069 GB
<none>              <none>              c2ce80b62174        8 days ago          399.2 MB
<none>              <none>              60afe4036d97        8 days ago          325.1 MB

当我试图删除其中一个时,我会得到:

alex@alexvps:~$ sudo docker rmi 60afe4036d97
Error: Conflict, 60afe4036d97 wasn't deleted
2014/01/28 00:54:00 Error: failed to remove one or more images

我该如何移除它们?为什么会有这样的冲突?


当前回答

我已经找到了一个解决方案与Powershell脚本,这将为我。

该脚本首先停止所有容器,然后删除所有容器,然后删除由用户命名的图像。

看这里http://www.devcode4.com/article/powershell-remove-docker-containers-and-images

其他回答

出现错误的原因是,即使图像没有任何标记,仍然存在在该图像上创建的容器,该容器可能处于退出状态。因此,您需要确保已经停止并删除了在这些映像上创建的所有容器。使用实例删除所有未运行的容器:

docker rm `docker ps -aq --no-trunc --filter "status=exited"`

现在这删除了所有悬空非中间<none>图像:

docker rmi `docker images --filter 'dangling=true' -q --no-trunc`

停止所有正在运行的容器: Docker stop ' Docker ps -q '

我在这条命令中找到了答案:

docker images --no-trunc | grep none | awk '{print $3}' | xargs docker rmi

当我删除一些正在使用的图像时,我遇到了你的问题,我没有意识到(使用docker ps -a)。

首先必须停止/删除在映像上创建的所有不必要的容器。

看看:如何删除旧Docker容器。

之后使用@marcell溶液。

除了Sunny的回答:

为了在PowerShell窗口中删除Windows机器(使用Docker for Windows)上的所有图像,请执行以下操作:

docker images -q | %{docker rmi -f $_}

为了在PowerShell窗口中删除Windows机器(使用Docker for Windows)上的所有容器,请执行以下操作:

docker ps -a -q | %{docker rm -f $_}

我已经找到了一个解决方案与Powershell脚本,这将为我。

该脚本首先停止所有容器,然后删除所有容器,然后删除由用户命名的图像。

看这里http://www.devcode4.com/article/powershell-remove-docker-containers-and-images