Ich habe die Ankündigung von vergangener Woche zunächst für einen Aprilscherz gehalten – aber sie ist tatsächlich wahr: Docker Desktop unterstützt ab Version 4.40 nun Large Language Models (LLMs). Was das konkret bedeutet, wie es funktioniert und wie das Ganze strategisch einzuordnen ist, erläutere ich in diesem Beitrag. Anzeige the next big thing – Golo Roden Golo Roden ist Gründer und CTO von the native web GmbH. Er beschäftigt sich mit der Konzeption und Entwicklung von Web- und Cloud-Anwendungen sowie -APIs, mit einem Schwerpunkt auf Event-getriebenen und Service-basierten verteilten Architekturen. Sein Leitsatz lautet, dass Softwareentwicklung kein Selbstzweck ist, sondern immer einer zugrundeliegenden Fachlichkeit folgen muss. Lesen Sie auch LLMs lokal auf der Kommandozeile ausführen mit Docker Desktop 4.40 heise Developer Mit Docker ist es so eine Sache. Die Software "Docker" hat in den letzten knapp 15 Jahren den Markt nahezu über Nacht revolutioniert. Deployments funktionieren heute grundlegend anders als früher, Kubernetes gäbe es in der Form vermutlich nicht, und große Teile der Web- und Cloud-Welt sähen völlig anders aus. Das Unternehmen Docker Inc. hingegen ist nach all diesen Jahren anscheinend immer noch auf der Suche nach einem tragfähigen und nachhaltig funktionierenden Geschäftsmodell: Viel wurde ausprobiert, aber wirklich gezündet hat keine der Ideen – im Gegenteil. Das ist schade, denn Docker hat vieles angestoßen und positiv verändert, konnte daraus jedoch nicht in dem Maß profitieren, wie man es dem Unternehmen gewünscht hätte. Empfohlener redaktioneller Inhalt Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen. YouTube-Video immer laden YouTube-Video jetzt laden Lokale LLMs mit Docker: So geht's! // deutsch Fairerweise muss man dazusagen, dass Docker sich an vielen Stellen auch nicht besonders geschickt angestellt hat – im Nachhinein ist das allerdings immer einfach zu behaupten. Es gab aber einfach zu viele halbgare Ansätze, die angekündigt und nachher wieder stillschweigend fallen gelassen wurden. Vor diesem Hintergrund muss man auch die aktuelle Ankündigung bewerten. Darauf komme ich später noch einmal zurück. Alles neu macht der … 1. April? Anzeige Beginnen wir mit der Ankündigung selbst. Docker hat am 1. April (ein Datum, bei dem viele automatisch an einen Scherz denken) eine neue Version von Docker Desktop angekündigt. Diese Version bringt ein neues Feature mit – den Model Runner, mit dem sich Large Language Models direkt über Docker beziehen und ausführen lassen. Damit bewegt sich Docker nun in Richtung künstlicher Intelligenz. Was genau also ist der Docker Model Runner? Wichtig ist zunächst: Dieses Feature ist Teil von Docker Desktop, nicht von der Docker Engine selbst. Es handelt sich also nicht um eine Erweiterung des Kernprodukts, sondern um eine Funktion innerhalb des umfassenderen Docker-Desktop-Pakets. Konkret erweitert das Kommandozeilentool über eine Extension die verfügbaren Befehle – und zwar unter dem Befehlssatz docker model . Diese Befehle dienen der Interaktion mit Sprachmodellen. Das bedeutet konkret: Mit docker model pull lässt sich ein Large Language Model auf die lokale Maschine herunterladen – etwa Llama, Mistral, Phi, Gemma oder DeepSeek. Diese Modelle liegen im OCI-Format vor, ähnlich wie Docker-Images, und können daher auch über Docker-Registries – etwa den Docker Hub – bezogen werden. Genau das nutzt Docker tatsächlich auch: Im neuen Namespace "ai" auf dem Docker Hub stehen zahlreiche dieser Modelle bereit. Damit macht Docker LLMs für Entwicklerinnen und Entwickler, die Docker ohnehin nutzen, einfach zugänglich. Das wirkt zunächst sinnvoll. LLMs herunterladen und starten Startet man ein heruntergeladenes Modell mit dem Befehl docker model run , gibt es zwei Optionen: Entweder kann man das im interaktiven Modus machen, bei dem man direkt in der Kommandozeile mit dem Modell chattet, oder im nicht interaktiven Modus, bei dem ein Prompt übergeben und direkt eine Antwort ausgegeben wird. Das eignet sich gut für kurze, gezielte Anfragen, ohne eine Session eröffnen zu müssen. Zusätzlich bietet Docker Desktop auch eine HTTP-basierte API, die sich an der OpenAI-Spezifikation orientiert. Darüber lassen sich eigene Anwendungen mit einem Sprachmodell verbinden – ohne sich Gedanken darüber machen zu müssen, wo und wie das Modell ausgeführt wird. Das übernimmt Docker. Der Vollständigkeit halber sei erwähnt, dass dieses Feature derzeit ausschließlich unter macOS mit Apple-Silicon-Chips funktioniert. Für Linux gibt es keine Unterstützung, für Windows ist diese zumindest angekündigt. Unter macOS funktioniert die Nutzung aber tatsächlich nahtlos: Sobald Docker Desktop in Version 4.40 installiert ist, kann man direkt starten – ohne zusätzliches Setup oder besondere Konfiguration. Docker als vertraute Umgebung Für Entwicklerinnen und Entwickler, die Docker kennen, fühlt sich das vertraut an. Kein neues Tool, keine neuen Workflows – die Integration ist intuitiv und eröffnet zahlreiche Möglichkeiten, sei es für die Entwicklung, das lokale Testen oder als Basis für KI-Assistenten in der Entwicklungsumgebung. Das Potenzial ist groß, die Bedienung ist einfach. Abgesehen von der Downloadzeit für Modelle – die je nach Größe etwas dauern kann – ist alles schnell einsatzbereit. Es sind keine API-Keys notwendig, die Nutzung ist komplett lokal und offline. Auch datenschutzrechtlich ist das ein Vorteil. Doch nicht alles ist überzeugend. Beginnen wir mit den kleineren Schwächen und enden mit dem größten Kritikpunkt. Erstens: Das Feature funktioniert ausschließlich auf macOS mit Apple Silicon – eine Einschränkung, die die Zielgruppe aktuell deutlich reduziert. Zweitens: Es gibt keine grafische Oberfläche. Wer mit dem Feature arbeiten will, nutzt die Kommandozeile oder eine Drittanbieter-UI, die das OpenAI-API-Format unterstützt – davon gibt es allerdings reichlich. Etwas gravierender ist die fehlende Anpassbarkeit: Die Modelle sind so, wie sie im Docker Hub veröffentlicht wurden. Eine eigene Feinabstimmung oder ein Finetuning sind derzeit nicht vorgesehen. Auch weiteres Training oder Skalierungsmöglichkeiten fehlen. Es handelt sich um eine One-Size-Fits-All-Lösung. Wenn diese passt, ist das gut – wenn nicht, bleibt nur die Feststellung, dass der Model Runner für diesen Anwendungsfall ungeeignet ist. Das mag für bestimmte Szenarien ausreichend sein, ist aber kein vollwertiges MLOps. OCI ja, aber keine Container Damit komme ich zum zentralen Problem, nämlich der lokalen Ausführung. Die Idee klingt gut – lokal, offline, datenschutzfreundlich. Doch wie funktioniert die Ausführung technisch? Läuft das Modell in einem Container? Die Antwort lautet: Nein. Der Model Runner hat überhaupt nichts mit Containern zu tun. Es handelt sich lediglich um einen dünnen Wrapper um die Bibliothek llama.cpp, integriert in Docker Desktop. Das hat den Vorteil, dass bestehende Docker-Installationen genutzt werden können. Einen inhaltlichen Bezug zur Container-Technologie – dem eigentlichen Markenkern von Docker – gibt es jedoch nicht. Natürlich kann man argumentieren, dass eine native Ausführung schneller ist als ein Container. Das stimmt. Aber es bedeutet auch: Das Ganze ist auf die lokale Maschine beschränkt. Einen Deployment-Ansatz gibt es nicht. Für den Servereinsatz ist das Feature untauglich, da Docker Desktop dort in der Regel nicht eingesetzt wird. Es handelt sich also nicht um ein neues KI-Deployment-Tool, sondern um ein reines Komfort-Feature für die lokale Nutzung. Mehr als ein Wrapper um llama.cpp ist es nicht. Und hier stelle ich mir die Frage nach dem Mehrwert. Tools, die llama.cpp nutzen und eine komfortable Nutzung ermöglichen, gibt es längst – etwa Ollama oder LM Studio, um nur zwei Beispiele zu nennen. Letzteres bietet zusätzlich eine grafische UI. Die Welt hat also nicht auf Docker gewartet, um diese Lücke zu schließen. Der Model Runner wirkt daher wie ein reines "me too"-Produkt – allerdings Jahre zu spät. Eine echte Neuerung kann zumindest ich nicht erkennen. Warum macht Docker das? Damit schließt sich der Kreis: Docker hat (wie eingangs erläutert) seit Jahren Schwierigkeiten, ein nachhaltiges Geschäftsmodell zu etablieren. Und auch wenn das Feature aktuell kostenlos ist, wirkt es wie ein Versuch, sich irgendwie mit dem Schlagwort "KI" zu verknüpfen – in der Hoffnung, vom Hype zu profitieren. Der Model Runner passt formal ins Toolset, aber inhaltlich nicht zum ursprünglichen und eigentlichen Docker-Konzept. Hier hätte eine große Chance gelegen – umgesetzt wurde jedoch die denkbar langweiligste Variante. Dazu kommen zahlreiche Bugs. Um ein Beispiel zu nennen: Nach erfolgreichem Download eines Modells wird als Downloadgröße gelegentlich "0 MByte" angezeigt. Solche trivialen Fehler werfen kein gutes Licht auf die Qualitätssicherung. Und wir sprechen hier nicht von einem kleinen Start-up, sondern von einem Unternehmen mit Hunderten Mitarbeiterinnen und Mitarbeitern und einem Umsatz im zwei- oder vermutlich sogar dreistelligen Millionenbereich. Wenn bereits solche Basisfunktionen fehlschlagen, wirft das Fragen auf – entweder an das Qualitätsbewusstsein oder an den Aufwand, der investiert wurde. Der Model Runner wirkt unfertig – als sei er nur deshalb veröffentlicht worden, um irgendwie auf den KI-Zug aufzuspringen. Das ist kein gutes Signal. Statt neue Maßstäbe zu setzen, bleibt Docker innerhalb seiner Komfortzone. Was dabei herauskommt, ist eine Minimalversion mit geringem Impact. Diese Strategie hat schon früher nicht funktioniert. Neu ist lediglich, dass Docker nun beginnt, die eigene Marke zu verwässern. Statt die Containerisierung konsequent weiterzudenken, wird ein KI-Feature vorgestellt, das nichts mit Containern zu tun hat. Das ist enttäuschend. Fazit: Wenn Sie Docker Desktop auf macOS mit Apple Silicon ohnehin nutzen, können Sie das Update auf Version 4.40 installieren und den Model Runner ausprobieren. Vermutlich werden Sie – wie ich – ein paar Minuten experimentieren und das Feature dann unter "ganz nett, aber eigentlich irrelevant" ablegen. Ich zumindest sehe aktuell keinen Grund, warum man es dauerhaft nutzen sollte. Vielleicht fehlt mir hier aber auch einfach nur die Fantasie. Wie sehen Sie das? Haben Sie das Feature schon ausprobiert? Finden Sie es in irgendeiner Form praktisch? Oder teilen Sie meine Einschätzung? Schreiben Sie das gerne in die Kommentare, ich bin gespannt auf Ihre Meinung! (map)