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图像修剪删除所有悬空图像(那些没有标签的图像)。Docker image prune -a也会删除任何没有容器使用它们的映像。

这个stackoverflow线程解释了悬挂图像和未使用图像之间的区别。

其他回答

这对我来说很管用

docker image rm -f $(docker images -f dangling=true -q)

您可以检查过滤器是否“悬空”不再工作

$ docker images -f “dangling=true” -q
Error response from daemon: Invalid filter 'dangling'

使用docker系统修剪删除悬空图像

$ docker system prune
WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - all dangling build cache
Are you sure you want to continue? [y/N]

你可以用——force表示不提示确认

$ docker system prune --force

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

docker image prune

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

Docker系统修剪将做的把戏,它删除

- all stopped containers
- all networks not used by at least one container
- all dangling images
- all dangling build cache

但是要小心使用它!

Docker图像修剪删除所有悬空图像(那些没有标签的图像)。Docker image prune -a也会删除任何没有容器使用它们的映像。

这个stackoverflow线程解释了悬挂图像和未使用图像之间的区别。