Программа удаления образов докера не работает для версии < 1.13

Пробовал следующие команды, но ни одна из них не удаляет изображения.

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

Версия докера:

$ 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 

Докер Док предлагает эту команду, но я столкнулся с ошибкой

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

2 ответа

Решение

Рассматривая сокращение образа docker и API 1.25 - для Docker Engine 1.13 версия API - 1.25

Удалить неиспользуемые изображения

API клиента и демона должны быть как минимум 1.25, чтобы использовать эту команду. Используйте команду docker version на клиенте, чтобы проверить версии API клиента и демона.

И у вас установлена версия: 1.12.6 и версия API: 1.24, поэтому вам нужно обновить свою версию, чтобы иметь возможность запускать удаление образа докера.

Если вы не хотите (или не можете) выполнить обновление, вы можете использовать docker rmi или docker image rm, которые не имеют указанных версий API, поэтому я ожидаю, что оба будут работать.

Вы должны использовать docker image prune --filter "dangling=true", Так должно быть image вместо images,

Также обратите внимание, что в случае удаления оборванных изображений вам не нужно указывать фильтр, так как по умолчанию команда prune удаляет оборванные изображения:

Удалите все висящие изображения. Если указан параметр -a, также будут удалены все изображения, на которые не ссылается ни один контейнер.

Другие вопросы по тегам