root@server:~# docker images -a        
REPOSITORY              TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
<none>                  <none>              5e2dfc857e73        5 days ago          261.6 MB
<none>                  <none>              d053e988f23d        5 days ago          261.6 MB
<none>                  <none>              1d5d4a2d89eb        5 days ago          261.6 MB
<none>                  <none>              ea0d189fdb19        5 days ago          100.5 MB
<none>                  <none>              26c6175962b3        5 days ago          100.5 MB
<none>                  <none>              73d5cec4a0b3        5 days ago          100.5 MB
<none>                  <none>              e19590e1bac1        5 days ago          100.5 MB

我试过以下几种方法:

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

以及以下几点:

docker rmi $(docker images -f "dangling=true" -q)

得到以下错误:

docker: "rmi" requires a minimum of 1 argument.
See 'docker rmi --help'.

Usage:  docker rmi [OPTIONS] IMAGE [IMAGE...]

Remove one or more images

当前回答

用力量修剪所有图像将解决您的问题

Docker映像修剪-a——force

其他回答

try

docker rmi -f $(docker images -a | awk 'NR> 1 || $2 = "<none>" {print $3}') ,而可能有更干净的命令

更新

要删除悬空图像,请使用:

docker image rm $(docker images --format "{{.ID}}" --filter "dangling=true")

请参考我在这里的回答,以获得更详细的描述:https://unix.stackexchange.com/a/445664/292327

移除悬空(<none>)图像的最简单的解决方案应该是:

docker image prune

您还可以添加——force或-f来禁用提示符。

这是tansadio回答的延伸:

如果你得到以下错误:

Error response from daemon: conflict: unable to delete <> (must be forced) - image is being used by stopped container <>

你可以强迫它——force:

docker images | grep none | awk '{ print $3; }' | xargs docker rmi --force

我在windows上找到了这个:

powershell -Command "docker rmi $(docker images -q -f dangling=true)"

参考: https://gist.github.com/sebagomez/b00bd9e3610abab55fefe3d69f3708ad