diff --git a/personal/tech/docker-mac-disk-issues.md b/personal/tech/docker-mac-disk-issues.md index 58a1de3f..70ebb0b6 100644 --- a/personal/tech/docker-mac-disk-issues.md +++ b/personal/tech/docker-mac-disk-issues.md @@ -1,6 +1,6 @@ # Docker на Mac — проблема с диском и сборкой образов -_Последнее обновление: 2026-06-24_ +_Последнее обновление: 2026-06-30_ ## Сетап @@ -57,7 +57,29 @@ Docker BuildKit при использовании `buildx` хранит кеш - Zulip отдаёт 500 на `/api/v1/register` - Контейнеры тупят или падают в restart loop -### Чистка build cache volume (безопасно) +### Чистка build cache (безопасно — не трогает образы, контейнеры, volumes) + +**`docker builder prune --all --force`** — удаляет только временный build cache (промежуточные слои сборок). Не затрагивает: +- Образы (SDK, libs, рантаймы) — `docker images` не меняется +- Контейнеры (запущенные и остановленные) +- Volumes (включая БД) +- Networks + +```bash +# Полная очистка build cache +docker builder prune --all --force +``` + +При следующей сборке: если образ уже собран и его слои есть в overlayfs, BuildKit пересоберёт только то, что изменилось в Dockerfile. Базовые `apt-get install` / `pip install` придётся перевыполнить, если их слой был закэширован. + +**Щадящая чистка** (оставляет свежий кэш <24h): +```bash +docker builder prune --filter 'until=24h' --force +``` +Не полностью решает проблему — volume фрагментирован, место не reclaim-ится. + +### Чистка build cache volume (агрессивно — перекачка с нуля) + ```bash # Остановить buildkit контейнер, удалить volume, BuildKit пересоздаст при следующем билде @@ -76,3 +98,11 @@ colima ssh -- df -h /dev/vdb1 - [[projects/balda/setup]] — Balda агенты (Валера, Клавдий) - [[how-to/hermes-eagle-mac]] — Hermes на Mac, Zulip Docker стек (RabbitMQ pitfall про Khepri) - [[how-to/openmediavault-rpi5]] — build cache на RPi (та же проблема ENOSPC) + +## Apple Container — потенциальная замена Colima + +Apple Container (`apple/container`, Apache 2.0, v1.0.0, Jun 9 2026) — нативная Swift-утилита для Linux контейнеров на macOS 26. **VM-per-container** через Virtualization.framework (не shared-kernel). OCI-совместима, pull/push с любых registry. + +**Не заменяет Colima сейчас** — нет compose, нет buildx. При появлении compose-аналога может решить проблему build cache принципиально (архитектура VM-per-container не имеет одного volume, где всё гниёт). + +Пока — следить за релизами. [[personal/documents/deferred-tasks]]