AskClean

Docker занимает слишком много места на Mac? Что можно безопасно удалить

Команда AskClean · Обновлено 2026-11-02

Выполните в «Терминале» docker system df -v и посмотрите, что занимает место Docker: образы, остановленные контейнеры, кэш сборки или тома. Сначала очищайте категорию, которая объясняет рост, не удаляйте именованные тома, пока их данные не сохранены в резервной копии, и никогда не удаляйте и не перемещайте Docker.raw вручную в Finder.

Хранилище Docker с контейнерами, слоями образов, кэшем и защищённым томом данных
В одном виртуальном диске Docker лежат и восстанавливаемые, и постоянные данные: проверьте каждую категорию до очистки.

Почему Docker занимает так много места

Docker Desktop запускает Linux-контейнеры в лёгкой виртуальной машине, поэтому образы, записываемые слои контейнеров, кэш сборки и тома хранятся не в обычных папках, а внутри одного большого файла образа диска — обычно Docker.raw. Его максимальный размер, видимый размер и место, реально занятое на диске Mac, могут сильно различаться: разреженный файл резервирует большой логический объём, но физически занимает меньше. Удаление Docker.raw обходит механизмы Docker и может разом уничтожить все локальные образы, контейнеры и тома.

Проверьте, что занимает место, до prune

docker system df -v показывает объём по категориям и сколько, по мнению Docker, можно освободить (столбец RECLAIMABLE); docker ps -a, docker image ls и docker volume ls помогают понять, к какому проекту относится каждый объект. «Можно освободить» не значит «безопасно удалить»: один образ может использоваться несколькими контейнерами, а том без подключённого контейнера — хранить единственную копию базы данных. Запишите также лимит и расположение образа диска в Docker Desktop Settings > Resources.

  1. Выполните docker system df -v и сохраните вывод с датой.
  2. С помощью docker ps -a, docker image ls и docker volume ls свяжите контейнеры, образы и тома с актуальными проектами.
  3. Выясните владельца каждого тома с данными и сделайте его резервную копию.
  4. Сначала очищайте ту категорию, которая объясняет рост.
  5. Снова выполните docker system df -v, проверьте свободное место в macOS и запуск важных проектов, прежде чем удалять что-то ещё.

Если к тому не подключён работающий контейнер, это ещё не значит, что его данные не нужны: проекты Compose, остановленные базы данных и разовые процедуры восстановления часто оставляют тома с нужными данными.

Удаляйте точечно

Известные устаревшие объекты удаляйте адресно — командами docker container rm и docker image rm с именем или ID. При удалении остановленного контейнера пропадут изменения в его записываемом слое, но именованные тома останутся, если вы явно не попросите удалить и их. docker builder prune очищает кэш сборки: его можно воспроизвести, но следующая сборка будет медленнее. docker system prune по умолчанию удаляет остановленные контейнеры, неиспользуемые сети, висячие (dangling) образы и неиспользуемый кэш сборки; ключ -a добавляет все образы, не используемые контейнерами, а --volumes — анонимные тома, в которых могут быть реальные данные. Без проверки эти ключи не добавляйте.

Защитите тома и виртуальный диск

Тома переживают контейнеры и могут хранить единственную локальную копию данных PostgreSQL, MySQL или другого сервиса. Делайте резервные копии штатным экспортом базы данных или проверенной процедурой: папка, скопированная из тома работающей базы, — не обязательно согласованная копия. Лимит и расположение образа диска меняйте в Docker Desktop Settings, а не в Finder, и после prune дайте Docker время вернуть место на диске Mac. AskClean показывает, сколько места Docker занимает на Mac, но не выбирает для очистки Docker.raw, учётные данные, образы и тома.

Сводка решений и рисков

Как проверить, что занимает место Docker на Mac, безопасно удалить остановленные контейнеры, образы и кэш сборки и защитить тома и виртуальный диск Docker.raw.

ТемаГде проверитьЧто важно
Почему Docker занимает так много местаDocker.raw / Docker Desktop SettingsDocker Desktop запускает Linux-контейнеры в лёгкой виртуальной машине, поэтому образы, записываемые слои контейнеров, кэш сборки и тома хранятся не в обычных папках, а внутри одного большого файла образа диска — обычно Docker.raw.
Проверьте, что занимает место, до prunedocker system df -v / docker ps -a / docker volume lsdocker system df -v показывает объём по категориям и сколько, по мнению Docker, можно освободить (столбец RECLAIMABLE); docker ps -a, docker image ls и docker volume ls помогают понять, к какому проекту относится каждый объект.
Удаляйте точечноdocker container rm / image rm / builder prune / system pruneИзвестные устаревшие объекты удаляйте адресно — командами docker container rm и docker image rm с именем или ID.
Защитите тома и виртуальный дисктома / Docker Desktop SettingsТома переживают контейнеры и могут хранить единственную локальную копию данных PostgreSQL, MySQL или другого сервиса.

Частые вопросы

Почему Docker.raw такой большой?

Это виртуальный диск Docker Desktop с образами, контейнерами, кэшем и томами. Его логический или максимальный размер может превышать место, реально занятое на диске Mac, поэтому сначала проверьте docker system df -v и Docker Desktop Settings.

Удаляет ли docker system prune тома?

По умолчанию нет. Ключ --volumes добавляет к очистке анонимные тома, а даже на вид ненужный том может хранить важную базу данных: сначала сделайте резервную копию и выясните владельца.

Можно ли удалить Docker.raw в Finder?

Нет: так можно уничтожить всё локальное состояние Docker или сломать Docker Desktop. Объекты удаляйте через CLI Docker, а виртуальный диск настраивайте в Docker Desktop Settings.

Источники

Другие руководства по очистке Mac разработчика