[2026-09-29] eagle: personal/projects/balda/balda-valera.md personal/tech/docker-mac-disk-issues.md
This commit is contained in:
1 parent
93ff208b43
commit
1cd3024808
2 files changed
+126
-1
No files matched your search
@@ -1,6 +1,12 @@
|
||||
# Docker на Mac — проблема с диском и сборкой образов
|
||||
|
||||
_Последнее обновление: 2026-06-30_
|
||||
_Последнее обновление: 2026-09-29_
|
||||
|
||||
> **2026-09-29: выполнена большая чистка, освобождено 41 ГБ** (57 ГБ → 16 ГБ, 61% → 17%).
|
||||
> Снесены `balda-executor`, `watchtower`, 16 неиспользуемых образов и buildkit-volume
|
||||
> 37.71 ГБ. Полный разбор — §«✅ Чистка 2026-09-29» в конце дока.
|
||||
> ⚠️ Цифры в §«Структура диска» ниже — снимок **2026-06-30** (17 ГБ / 8.4 ГБ кэша),
|
||||
> оставлены как исторический ориентир. Актуальные размеры — в разделе про чистку.
|
||||
|
||||
## Сетап
|
||||
|
||||
@@ -99,6 +105,93 @@ colima ssh -- df -h /dev/vdb1
|
||||
- [[how-to/hermes-eagle-mac]] — Hermes на Mac, Zulip Docker стек (RabbitMQ pitfall про Khepri)
|
||||
- [[how-to/openmediavault-rpi5]] — build cache на RPi (та же проблема ENOSPC)
|
||||
|
||||
## ✅ Чистка 2026-09-29 — освобождено 41 ГБ
|
||||
|
||||
По команде Alex: снести неиспользуемые образы, `balda-executor`, `watchtower`, balda-теги
|
||||
старого стека и слои сборки.
|
||||
|
||||
| Метрика | До | После |
|
||||
|---|---|---|
|
||||
| **VM disk `/dev/vdb1`** | **57 ГБ (61%)** | **16 ГБ (17%)** |
|
||||
| Images | 19.12 ГБ | 15.71 ГБ |
|
||||
| Build Cache | 1.91 ГБ | 1.62 ГБ |
|
||||
| **buildkit volume** | **37.71 ГБ** | **удалён** |
|
||||
|
||||
🔴 **Главное подтверждение из этого дока:** `docker builder prune` НЕ чистит volume
|
||||
`buildx_buildkit_arm64builder0_state` — он оставался **37.71 ГБ** после prune.
|
||||
Реально освободило только удаление контейнера + volume:
|
||||
```bash
|
||||
docker rm -f buildx_buildkit_arm64builder0
|
||||
docker volume rm buildx_buildkit_arm64builder0_state
|
||||
```
|
||||
📌 **Обратная сторона:** `docker builder ls` → `arm64builder0` теперь **`inactive`**.
|
||||
Следующая сборка пересоздаст volume с нуля — все закэшированные слои (apt/pip/go mod download)
|
||||
потеряны. Это ожидаемая цена, не дефект.
|
||||
|
||||
### Что снесено (16 образов + 3 контейнера)
|
||||
|
||||
Контейнеры: `balda-executor`, `watchtower`, `buildx_buildkit_arm64builder0`.
|
||||
|
||||
| Образ | Размер |
|
||||
|---|---|
|
||||
| `balda-executor:0.1.0` | 2.48 ГБ |
|
||||
| `obsidian-mcp-image:0.1.0` | 1.67 ГБ |
|
||||
| `balda-executor-mcp:0.2.0` | 249 МБ |
|
||||
| `balda-executor-mcp:0.1.0` | 231 МБ |
|
||||
| `containrrr/watchtower:latest` | 21.5 МБ |
|
||||
| `balda-mm:0.1.10` / `0.1.12` / `0.1.13-diag` | 3 × 78.7 МБ |
|
||||
| `caddy`, `curlimages/curl`, `eclipse-mosquitto`, `tagwriter`, `teddysun/xray`, `ubuntu:noble`, `alpine:3.20`, `alpine:latest` | ~0.9 ГБ |
|
||||
|
||||
### ⚠️ Побочный эффект: Watchtower снят с Mac
|
||||
|
||||
Watchtower жил в compose-проекте `infra` (`~/Docker/infra`). **Автообновление образов
|
||||
на Mac больше не работает.** Обновлять вручную:
|
||||
```bash
|
||||
cd <compose-dir> && docker-compose pull && docker-compose up -d
|
||||
```
|
||||
📌 На **Kraken** Watchtower тоже есть — он там отдельная история (и сам провоцировал
|
||||
падение `mm-postgres`, см. `personal/tech/kraken-docker-startup-order.md`).
|
||||
|
||||
### 🔴 Питфолл: `compose down` НЕ удаляет образы
|
||||
|
||||
После `docker-compose down` контейнер уходит, а **образ остаётся**. Для полного сноса
|
||||
нужен отдельный `docker rmi <image>`. Именно так остались висеть
|
||||
`balda-executor:0.1.0` (2.48 ГБ) и `containrrr/watchtower:latest`.
|
||||
|
||||
### 🔴 Питфолл: «unused image» по имени может быть тем же ID, что running
|
||||
|
||||
`obsidian-mcp-image:0.1.0` и `obsidian-mcp-obsidian-mcp:latest` — **разные образы**
|
||||
(разные ID), первый был артефактом сборки. Но у `budget-*` / `fast-rlm-*` / `zulip-router`
|
||||
тег `:latest` — **тот же ID**, что у безымянного образа, используемого контейнером.
|
||||
Удаление такого тега безвредно (слои остаются), но **проверять ID, а не имя**.
|
||||
|
||||
### Бэкап перед чисткой
|
||||
|
||||
`/Users/admin/.hermes/hermes-whale/backups/20260929-121946-docker-cleanup/`
|
||||
- `balda-executor/` — Dockerfile, compose.override.yaml, docker-compose.yml, agents-mounts.yaml, tools/
|
||||
- `infra/` — docker-compose.yaml (где был watchtower)
|
||||
|
||||
### Осталось (не снесено, осознанно)
|
||||
|
||||
`balda-mm:0.1.13`, `0.1.14`, `0.1.15-pr8-5360e90b`, `0.1.15-pr8-5360e90b-runtime210`,
|
||||
`0.1.15-pr8-0e6d63aa-runtime210`, `balda:mm-classifier` (~560 МБ) — **ветки нового стека**,
|
||||
который готовится. Снос — по отдельной команде.
|
||||
|
||||
⚠️ Текущий рабочий образ на **Kraken**: `balda-mm:0.1.15-pr8-480ec821-runtime210`
|
||||
(на Mac его нет).
|
||||
|
||||
### Живые контейнеры (16, все рабочие)
|
||||
|
||||
```
|
||||
zulip-zulip-1 zulip-database-1 zulip-rabbitmq-1 zulip-memcached-1 zulip-redis-1 zulip-router
|
||||
firecrawl-api-1 firecrawl-playwright-service-1 firecrawl-rabbitmq-1 firecrawl-redis-1
|
||||
budget-backend budget-frontend obsidian-mcp asana-mcp fast-rlm-mcp portainer
|
||||
```
|
||||
|
||||
Не тронуто: 14 volumes (719 МБ — БД Zulip/Postgres), сеть `balda_default`,
|
||||
папки кода `~/Developer/balda`, `~/Docker/balda-agent`, `~/docker/balda-executor`, `~/Docker/infra`.
|
||||
|
||||
|
||||
## 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.
|
||||
|
||||
Reference in new issue
Block a user