- Docker Engine 28 bringt –mount type=image — Container kann Image-Inhalt als Volume mounten.
- docker load/save/history haben jetzt –platform für Multi-Platform-Images.
- Buildx-prune kennt reserved-space, max-used-space, min-free-space, keep-bytes.
- Windows läuft containerd als Daemon-Child statt System-Service.
Was Docker JETZT in der 28 reinhaut
Docker Engine 28 ist da — und auch wenn die Versionsnummer langweilig klingt, bringt sie ein paar Features, die in jedem Homelab-Stack richtig nützlich werden. Erstens: Image-Mount. Mit --mount type=image,source=myimage:tag,target=/data kannst du den Inhalt eines anderen Images als Read-Only-Volume in einen laufenden Container mounten. Klingt esoterisch — ist aber genial für Init-Container-Patterns, statische Asset-Stacks und Data-Container-Architekturen.
Plus: image-subpath
Wenn du nur einen Teil des Source-Images brauchst, geht --mount type=image,image-subpath=/etc/nginx. Das ersetzt für viele Use-Cases die alten Sidecar-Container-Hacks oder das Kopieren von Dateien beim Container-Start.
–platform für load, save und history
Multi-Platform-Images (amd64 + arm64 + arm/v7) sind in jedem modernen Stack Standard. Bisher gab es bei docker load und docker save immer den Krampf, wenn nur eine Architektur gebraucht wurde. Jetzt: docker save --platform linux/arm64 myimage:tag -o image.tar und du bekommst nur die arm64-Variante. Auch docker history kennt jetzt --platform — endlich saubere Layer-Inspection für Multi-Arch.
Buildx-prune mit Größen-Filtern
Wer Buildx-Cache im Homelab pflegt, kennt das Problem: docker buildx prune löscht entweder alles oder garnichts. Engine 28 bringt vier neue Filter: reserved-space, max-used-space, min-free-space, keep-bytes. Damit kannst du sagen „lass mir mindestens 50 GB frei“ oder „behalte 20 GB Cache, lösch den Rest“. Genau das, was Lab-Stacks brauchen.
Windows: containerd als Child-Process
Auf Windows-Hosts läuft containerd jetzt als Daemon-Child statt System-Service. Das vereinfacht Setup auf Servern, die ohne Group-Policy-Berechtigung deployed werden. Außerdem: Go-Runtime ist auf 1.23.6 gehoben, containerd auf v1.7.25, BuildKit v0.20.0, Buildx v0.21.0, Compose v2.32.4.
FAQ
Brauche ich Engine 28 für meinen Lab-Stack zwingend?
Nein, Engine 27 wird noch supportet. Aber Image-Mount und die Buildx-prune-Filter machen Lab-Setups deutlich sauberer — Update lohnt sich.
Funktioniert –mount type=image mit beliebigen Images?
Ja, mit jedem Image, das lokal im Daemon liegt oder aus einer Registry gezogen werden kann. Inkl. Multi-Stage-Builds und scratch-basierten Images.
Ist Docker Compose 2.32.4 mit der neuen Engine verbunden?
Compose wird parallel mit Engine 28 ausgeliefert, ist aber unabhängig — du kannst Compose 2.32.4 auch mit Engine 27 nutzen.
Welche Buildx-prune-Strategie ist im Lab am sinnvollsten?
min-free-space=20GB ist ein gutes Default — lässt 20 GB freie SSD-Kapazität, löscht den Rest aus dem Cache. Für CI-Server eher max-used-space=100GB.