Ergaenzung: Builder-Cache-Bereinigung #215

Closed
opened 2026-07-03 20:29:55 +02:00 by niboer · 0 comments
Owner

Ergaenzung: Builder-Intermediate-Image wird nicht aufgeraeumt

Beobachtung: Nach jedem docker compose down -v --rmi local bleibt ein unbenannter Intermediate-Image der builder-Stage aus dem Multi-Stage-Dockerfile (backend/Dockerfile) zurueck.

Ursache: --rmi local entfernt nur Images, die direkt einem Compose-Service zugeordnet sind (via image:-Feld). Der builder-Stage ist ein anonymer Build-Cache-Eintrag des Classic Builders — kein Service-Image.

Loesung: Nach dem Build den Builder-Cache explizit praegen via docker builder prune -f (podman builder prune -f).

Dateiaenderungen

Datei Aktion Beschreibung
scripts/container.mjs Neu pruneBuildCache() exportieren (ruft CMD builder prune -f)
scripts/build.mjs Neu --prune-Flag: ruft pruneBuildCache() nach allen Builds
package.json Geaendert dev-Script: docker builder prune -f vor docker compose up

pruneBuildCache() in scripts/container.mjs

export function pruneBuildCache() {
  console.log(`${CYAN}Praeger Build-Cache...${RESET}`);
  execSync(`${CMD} builder prune -f`, { stdio: 'inherit' });
  console.log(`${GREEN}Build-Cache bereinigt.${RESET}`);
}

--prune in scripts/build.mjs

if (flags.prune) {
  pruneBuildCache();
}

Hinweis: In CI/CD-Umgebungen (Issue #212) wird docker builder prune -f separat im Cleanup-Step aufgerufen.

## Ergaenzung: Builder-Intermediate-Image wird nicht aufgeraeumt **Beobachtung:** Nach jedem `docker compose down -v --rmi local` bleibt ein unbenannter Intermediate-Image der `builder`-Stage aus dem Multi-Stage-Dockerfile (`backend/Dockerfile`) zurueck. **Ursache:** `--rmi local` entfernt nur Images, die direkt einem Compose-Service zugeordnet sind (via `image:`-Feld). Der `builder`-Stage ist ein anonymer Build-Cache-Eintrag des Classic Builders — kein Service-Image. **Loesung:** Nach dem Build den Builder-Cache explizit praegen via `docker builder prune -f` (`podman builder prune -f`). ### Dateiaenderungen | Datei | Aktion | Beschreibung | |-------|--------|-------------| | `scripts/container.mjs` | Neu | `pruneBuildCache()` exportieren (ruft `CMD builder prune -f`) | | `scripts/build.mjs` | Neu | `--prune`-Flag: ruft `pruneBuildCache()` nach allen Builds | | `package.json` | Geaendert | `dev`-Script: `docker builder prune -f` vor `docker compose up` | ### `pruneBuildCache()` in `scripts/container.mjs` ```javascript export function pruneBuildCache() { console.log(`${CYAN}Praeger Build-Cache...${RESET}`); execSync(`${CMD} builder prune -f`, { stdio: 'inherit' }); console.log(`${GREEN}Build-Cache bereinigt.${RESET}`); } ``` ### `--prune` in `scripts/build.mjs` ```javascript if (flags.prune) { pruneBuildCache(); } ``` **Hinweis:** In CI/CD-Umgebungen (Issue #212) wird `docker builder prune -f` separat im Cleanup-Step aufgerufen.
Sign in to join this conversation.
No description provided.