docker image prune不适用于版本< 1.13

时间:2018-06-14 07:36:07

标签: docker docker-machine docker-image pruning

尝试过以下命令,但都没有删除图像。

sudo docker images prune --filter "dangling=true"
sudo docker images prune --all
sudo docker images prune -a
sudo docker images prune

两个命令的输出:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

Docker版本:

$ sudo docker version
Client:
Version:      1.12.6
API version:  1.24
Go version:   go1.6.4
Git commit:   78d1802
Built:        Tue Jan 10 20:26:30 2017
OS/Arch:      linux/amd64

Server:
Version:      1.12.6
API version:  1.24
Go version:   go1.6.4
Git commit:   78d1802
Built:        Tue Jan 10 20:26:30 2017
OS/Arch:      linux/amd64 

Docker doc建议使用此命令,但我遇到了错误

$ sudo docker image prune -a
docker: 'image' is not a docker command.
See 'docker --help'.`

2 个答案:

答案 0 :(得分:1)

您应该使用docker image prune --filter "dangling=true"。它应该是image而不是images

另请注意,在删除悬空图像的情况下,您无需指定过滤器,因为默认情况下prune command会删除悬空图像:

  

删除所有悬空图像。如果指定-a,也将删除所有   图像未被任何容器引用。

答案 1 :(得分:1)

查看docker image pruneAPI 1.25 - 对于Docker Engine 1.13,API版本为1.25

  

删除未使用的图片

     

客户端和守护程序API必须至少为1.25才能使用它   命令。在客户端上使用docker version命令检查您的   客户端和守护程序API版本。

您正在运行版本:1.12.6 API版本:1.24 ,因此您需要更新您的版本才能运行 docker image prune

如果您不想(或无法升级),可以使用不具备指定API版本的docker rmidocker image rm,因此我希望两个都工作。