Go Container-Build-Performance: Nix ist nicht immer schneller
2025-04-28
Dieser Artikel vergleicht verschiedene Methoden zum Erstellen von Go-Containern mit Docker und Nix. Der Autor verwendet ein einfaches Go-Programm mit Prometheus-Metriken, um Buildzeiten und Imagegrößen zu messen. Der Docker-Cache verbesserte die Build-Geschwindigkeit deutlich, während Nix, trotz seiner Reproduzierbarkeit, nicht schneller war. Scratch-Basisimages erzeugten viel kleinere Container als distroless. UPX-Komprimierung reduzierte die Imagegrößen weiter. Athens- und Squid-Proxy-Caching wurden ebenfalls getestet. Der Autor gibt praktische Tipps für schnellere Go-Container-Builds, einschließlich der Verwendung einer .dockerignore-Datei, um den .git-Ordner auszuschließen.