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 rmi删除映像

docker images --filter "dangling=true"      

其他回答

我发现docker image prune -f最有用,我在日常工作中一直使用它,使用标记-f不会提示确认。详情请点击这里

下面的命令对我有用。这只是简单的grep“”图像,并获得docker图像id和删除所有图像。简单的单一命令,因为它必须。

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

悬垂的图像是来自之前构建和拖动的幽灵,只需删除它们: Docker rmi $(Docker images -f "悬挂=true" -q)

第一个解决方案:

首先删除不使用的容器。 docker ps -a | grep -v Up | awk '{打印$1;}' | xargs docker rm 删除所有没有标签的容器。 Docker images | grep none | awk '{打印$3;}' | xargs docker rmi


第二种解决方案删除所有:

$ docker system prune -a


WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all images without at least one container associated to them
- all build cache

Are you sure you want to continue? [y/N]

你可以在docker中使用这个推荐:

docker image prune

对于所有容器:

docker container prune