【问题标题】:docker image prune is not working for version < 1.13docker image prune 不适用于版本 < 1.13
【发布时间】:2018-06-14 07:36:06
【问题描述】:

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

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'.`

【问题讨论】:

  • 不是 docker image prune 吗?不是图片?
  • 刚刚编辑了带有确认的问题。尝试使用 docker image prune,但出现错误。
  • 这看起来像是一个相当老的 docker 版本?是 CE 还是 EE?
  • 对,很旧的版本和它的 CE
  • 它不适用于 Docker

标签: docker docker-machine docker-image pruning


【解决方案1】:

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

删除未使用的图像

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

而您正在运行 版本:1.12.6API 版本:1.24,因此您需要更新版本才能运行 docker 映像修剪

如果您不想(或不能)升级,您可以使用没有指定 API 版本的 docker rmidocker image rm,因此我希望两者都能正常工作。

【讨论】:

  • docker rmi 工作。 docker image rm 抛出问题中提到的错误。谢谢
【解决方案2】:

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

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

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

【讨论】:

  • 刚刚编辑了带有确认的问题。尝试使用 docker image prune,但出现错误。
  • 说得好!理想情况下,docker 命令应以“尝试使用 'docker images prune' 时您的意思是'did you mean 'docker images prune'”响应
猜你喜欢
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多