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

当前回答

下面将删除所有<none>图像

docker rmi $(docker images | grep none | awk '{print $3}')

您可以通过将docker rmi更改为docker rmi -f来强制删除,尽管我不建议这样做。

一些<none>的图像可能与其他图像相关,所以为了安全起见,不要使用-f标签。

其他回答

只需使用它们的id删除图像:

# docker rmi 5e2dfc857e73 d053e988f23d ...

根据docker文档,你只能列出未标记的(悬空的)图像

$ docker images -f "dangling=true"

然后将它们重定向到docker rmi命令,就像这样:

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

注意-q参数只显示容器的数字id。

docker rmi $(docker images -a -q)

在使用的地方说明以下图像。我认为这个命令可以去除不需要的图像。

下面将删除所有<none>图像

docker rmi $(docker images | grep none | awk '{print $3}')

您可以通过将docker rmi更改为docker rmi -f来强制删除,尽管我不建议这样做。

一些<none>的图像可能与其他图像相关,所以为了安全起见,不要使用-f标签。

docker rmi -f $(docker images -a|awk 'NR > 1 && $2 == "" {print $3}')