13 Min. Lesezeit 22.08.2026

Ollama in Docker installieren: CPU, GPU, Volumes und API-Prüfung

Ein praktischer Ablauf für Ollama im Docker-Container, ohne Modelldateien zu verlieren oder Host- und Container-Netzwerke zu verwechseln.

Redaktionsteam von Odysseus AI Wiki
Redaktionsteam von Odysseus AI Wiki
Unabhängige technische Dokumentation und Prüfung

Kurzantwort: Ja, Ollama kann in Docker laufen. Der robuste Standard ist ein benanntes Volume für /root/.ollama, ein nur bei Bedarf veröffentlichter Port und ein eigener CPU- oder GPU-Befehl für den Host. Prüfe Container, /api/tags und eine kleine Modellanfrage, bevor du eine weitere Anwendung verbindest.

Der Suchbegriff Ollama in Docker installieren umfasst meist drei Entscheidungen: Wo liegen die Modelldateien, wie erreicht der Container den Host oder einen anderen Dienst, und soll CPU oder eine verfügbare GPU verwendet werden? Beginne mit dem kleinsten funktionierenden Pfad. Starte das offizielle Ollama-Image mit einem benannten Volume, prüfe die lokale API und ergänze GPU-Optionen oder einen zweiten Dienst erst danach.

Was sich durch Ollama in Docker ändert

Ollama wirkt nativ wie ein lokaler Dienst: Ein Befehl startet die Laufzeit, Modelle liegen auf dem Rechner und Clients verwenden Port 11434. Docker legt darum einen Container mit eigener Dateisicht, Prozessumgebung, Netzwerkkonfiguration und Lebensdauer. Das macht die Bereitstellung wiederholbar, bedeutet aber auch: Ein Modell, das nur im beschreibbaren Container-Layer liegt, kann beim Entfernen des Containers verschwinden.

Darum ist ein funktionierender docker run-Befehl nur der Anfang. Entscheide, ob Docker die einzige Ollama-Laufzeit ist, ob ein Host-Programm oder ein weiterer Container zugreift und ob Modelldownloads ein Upgrade überleben müssen. Halte diese Grenzen sichtbar, bevor du OpenCode, einen MCP-Host, eine Weboberfläche oder einen Remote-Client ergänzt.

Container-Lebensdauer ist kein Modellspeicher

Ein Container kann gefahrlos ersetzt werden, wenn /root/.ollama außerhalb der beschreibbaren Container-Schicht liegt. Dafür brauchst du ein benanntes Volume oder einen bewusst gewählten Bind-Mount.


CPU, NVIDIA-GPU oder AMD-GPU wählen

Nutze zunächst CPU, wenn du Netzwerk, Volumes oder einen neuen Host überprüfst. Dieser Weg hat die wenigsten beweglichen Teile und liefert eine saubere Basis für Ladezeit und Antwortgeschwindigkeit. Wenn die API funktioniert, wechsle zu dem für deinen Host dokumentierten Beschleunigerpfad, statt beliebige Docker-Flags aus einer anderen Umgebung zu übernehmen.

NVIDIA-Container benötigen normalerweise einen funktionierenden Host-Treiber und das NVIDIA Container Toolkit. AMD-Bereitstellungen können ein anderes Image-Tag und andere Gerätemappings verwenden; die Unterstützung hängt von Betriebssystem, Runtime und aktueller Ollama-Dokumentation ab. Behandle die GPU als Optimierung: Endpoint, Volume und grundlegende Health-Prüfungen sollten gleich bleiben.

Docker prüfen
docker version
NVIDIA-GPU des Hosts prüfen
docker run --rm --gpus=all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smi
Pfad Geeignet wenn Wichtige Prüfung
CPU Du eine einfache Basis oder keine unterstützte GPU hast API und kleine Modellantwort vor Performance-Tuning prüfen
NVIDIA-GPU Host-Treiber und NVIDIA Container Toolkit bereits funktionieren Prüfen, ob Docker die GPU sieht, bevor ein großes Modell geladen wird
AMD-GPU Host und Ollama-Image den benötigten ROCm-Pfad unterstützen Aktuelle Image- und Geräteanforderungen für den Host befolgen
Host und Container Ein anderer Dienst Ollama über ein Docker-Netzwerk aufruft Im Netzwerk den Servicenamen statt der Host-Loopback-Adresse verwenden

Persistenten Modellspeicher anlegen

Ein benanntes Volume ist der einfachste Standard für Ollama in Docker: Docker verwaltet den Speicherort und der Container kann ersetzt werden, ohne die Modelldateien manuell zu kopieren. Das offizielle Image legt Ollama-Daten unter /root/.ollama ab; mounte das Volume deshalb immer dorthin. Erzeuge beim Upgrade nicht versehentlich ein zweites Volume, wenn du dieselbe Modellbibliothek weiterverwenden willst.

Ein Bind-Mount ist sinnvoll, wenn du den Speicherverbrauch auf einem bestimmten Laufwerk kontrollieren oder ein bekanntes Host-Verzeichnis sichern musst. Dafür entstehen mehr Pfad- und Berechtigungsfragen. Für den ersten Betrieb ist ein benanntes Volume meist leichter zu erklären und schwerer versehentlich zu beschädigen.

Ein Volume ist noch kein Backup

Ein Docker-Volume schützt Modelldateien vor dem Ersetzen des Containers, ist aber nicht automatisch eine zweite Kopie. Sichere oder rekonstruiere das Volume bewusst, wenn die Modellbibliothek wichtig ist.

Benanntes Volume erstellen
docker volume create ollama-data
CPU-Container mit persistentem Speicher starten
docker run -d --name ollama -p 11434:11434 -v ollama-data:/root/.ollama ollama/ollama
Modell im Container laden
docker exec -it ollama ollama pull <model-name>

Container starten und API prüfen

Prüfe nach der Ausgabe der Container-ID zuerst den Zustand, bevor du ein großes Modell lädst. docker ps zeigt, ob der Prozess noch läuft; docker logs kann Port-, Berechtigungs- oder Runtime-Fehler sichtbar machen. Frage danach /api/tags vom Host ab. Eine erfolgreiche Antwort bestätigt einen erreichbaren HTTP-Endpoint, aber noch nicht, dass jedes Modell geladen ist oder jeder Client zugreifen darf.

Eine kleine Modellanfrage ist die zweite Prüfung. So trennst du einen gesunden HTTP-Listener von einem funktionierenden Modellpfad. Wenn die API antwortet, aber die Modellanfrage scheitert, prüfe Modellnamen, freien Speicher, RAM und Container-Logs, bevor du Netzwerkoptionen änderst.

  1. Prozess prüfen

    Bestätige, dass der Container Up ist und der veröffentlichte Port dem beabsichtigten Port entspricht.

  2. Endpoint prüfen

    Rufe /api/tags von derselben Maschine auf, die Port 11434 veröffentlicht, und notiere den Statuscode.

  3. Modell prüfen

    Lade ein kleines Modell und sende eine harmlose Anfrage, bevor du Editor oder Agent verbindest.

Containerzustand prüfen
docker ps --filter name=ollama
Letzte Logs lesen
docker logs ollama --tail 100
Lokale API prüfen
curl http://127.0.0.1:11434/api/tags
Modelle im Container anzeigen
docker exec -it ollama ollama list

Anwendungen ohne localhost-Verwechslung verbinden

Die richtige Ollama-URL hängt vom Ort des Clients ab. Eine Desktop-Anwendung auf demselben Host kann bei veröffentlichtem Port normalerweise http://127.0.0.1:11434 verwenden. Ein zweiter Container im selben Docker-Netzwerk sollte den Ollama-Service über seinen Compose-Servicenamen und Port aufrufen, zum Beispiel http://ollama:11434. In einem Container bedeutet 127.0.0.1 nur diesen Container und nicht automatisch den Windows-, macOS- oder Linux-Host.

Für einen Remote-Client brauchst du eine ausdrücklich geschützte Adresse und Firewall-Regel. Veröffentliche Port 11434 nicht einfach im öffentlichen Internet, damit ein Testprogramm funktioniert. Dokumentiere Route, Authentifizierung oder privates Netzwerk und den genauen Modelldienst, den der Client erreichen darf.

Ort des Clients Typischer Endpoint Häufiger Fehler
Desktop auf dem Host http://127.0.0.1:11434 Von der Host-Anwendung einen Container-Servicenamen verwenden
Weiterer Compose-Service http://ollama:11434 localhost verwenden, obwohl es auf den aufrufenden Container zeigt
Andere Maschine Private, gefilterte Host-Adresse Eine nicht authentifizierte API öffentlich binden
Odysseus oder Editor Endpoint aus den Provider-Einstellungen der Anwendung Endpoint ändern, bevor der Basis-API-Test funktioniert

Modelle, Kontext und Zugriff sicher halten

Docker macht einen Ollama-Dienst nicht automatisch privat. Ein veröffentlichter Port kann je nach Befehl und Host-Standard an alle Interfaces gebunden werden. Für einen reinen Host-Test ist eine Loopback-Bindung wie -p 127.0.0.1:11434:11434 sinnvoll. Wenn ein Compose-Service intern zugreifen muss, nutze ein privates Netzwerk und veröffentliche keinen Host-Port ohne konkreten Grund.

Kontextlänge, Parallelität und GPU-Speicher beeinflussen den RAM- und VRAM-Verbrauch des Containers. Ändere jeweils nur eine Variable und beobachte docker stats, den Host-Speicher und das Antwortverhalten. Halte Geheimnisse aus Images, Shell-Historie, Screenshots und versionierten Compose-Dateien heraus; ein lokaler Model-Endpoint und ein externer Suchdienst haben unterschiedliche Datenschutzgrenzen.

Prüfung Warum wichtig Sicherer Standard
Port-Bindung Bestimmt, welche Interfaces die API erreichen Für Host-Tests an Loopback binden
Volume-Pfad Bestimmt, ob Modelle Containerwechsel überleben Ein benanntes Volume verwenden und dokumentieren
Kontext und Parallelität Kann den Speicherverbrauch je Anfrage vervielfachen Klein beginnen und vor Erhöhung messen
Externe Tools Können Prompts oder Inhalte außerhalb des Hosts senden Provider prüfen und Tool-Rechte begrenzen

Health-, GPU-, Volume- und API-Fehler prüfen

Wenn die Ollama-Docker-Bereitstellung scheitert, ändere immer nur eine Schicht. Prüfe zuerst Docker, dann ob der Ollama-Container weiterläuft, danach Volume, API, Modell und erst am Ende die Client-Anwendung. Wenn du nach jedem Fehler den kompletten Befehl austauschst, bleibt die tatsächlich fehlerhafte Grenze unsichtbar.

GPU-Probleme liegen meist beim Host-Runtime-Pfad und nicht bei der Ollama-API. Ein Container kann /api/tags beantworten und trotzdem CPU verwenden, weil die GPU nicht durchgereicht wurde, der Treiber nicht passt oder das Image nicht zum Host gehört. Fehlt ein Modell nach dem Ersetzen, vergleiche docker inspect und das Ziel /root/.ollama, bevor du erneut herunterlädst.

Container entfernen löscht nicht automatisch das Volume

Der letzte Befehl entfernt nur den Container. Führe docker volume rm ollama-data erst aus, wenn du bestätigt hast, dass die Modelldateien nicht mehr gebraucht werden oder gesichert sind.

Mounts und Ports prüfen
docker inspect ollama
Ressourcenverbrauch beobachten
docker stats ollama
Nur den Container stoppen und entfernen
docker stop ollama && docker rm ollama
Symptom Wahrscheinliche Grenze Nächste Prüfung
Container beendet sich sofort Image, Befehl, Rechte oder Runtime docker logs ollama und Exit-Code prüfen
API-Verbindung abgelehnt Port-Bindung oder Prozesszustand docker ps, veröffentlichte Ports und /api/tags prüfen
Modell verschwunden Falsches oder fehlendes Volume docker inspect Mounts und /root/.ollama vergleichen
GPU-Flag schlägt fehl Host-Treiber oder Container-Runtime Kleinsten Hersteller-GPU-Test vor Ollama ausführen
Host funktioniert, Container-Client nicht Netzwerk-Namespace localhost durch Compose-Servicenamen ersetzen
Anfragen brauchen zu viel Speicher Kontext, Parallelität oder Modellgröße Eine Einstellung senken und Metriken beobachten

Häufige Fragen zu Ollama in Docker

Ja. Der offizielle Docker-Weg startet den Dienst in einem Container. Wichtig sind Image, /root/.ollama-Volume, CPU- oder Beschleuniger-Runtime und der Endpoint des Clients.

Erstelle ein benanntes Volume, starte das offizielle Image mit Port 11434 und mounte das Volume nach /root/.ollama. Prüfe docker ps und /api/tags, bevor du ein Modell lädst. Für GPU-Befehle gilt die aktuelle offizielle Dokumentation.

Du kannst eine gemeinsame Speicherstrategie planen, solltest aber nicht zwei schreibende Laufzeiten unüberlegt auf dasselbe Modellverzeichnis zeigen lassen. Ein klarer Eigentümer, Backup und dokumentierte Migration vermeiden Locking- und Rechteprobleme.

CPU ist eine gute Basis zum Prüfen der Installation. NVIDIA oder AMD lohnen sich, wenn Treiber, Container-Runtime, Image und Gerätemapping zusammen unterstützt werden. Der GPU-Pfad sollte Volume und API-Prüfung nicht verändern.

Die Clients liegen in verschiedenen Netzwerk-Namespaces. Der Host kann bei veröffentlichtem Port 127.0.0.1:11434 nutzen; ein Compose-Service sollte meist http://ollama:11434 verwenden.

Nutze die für deine Ollama-Version dokumentierte Umgebungsvariable und Container-Konfiguration und erstelle den Container mit demselben Volume neu. Erhöhe schrittweise und beobachte den Speicherverbrauch.

Nimm das nicht an. Prüfe Bind-Adresse und Firewall. Für Host-only binde den Port an Loopback; für interne Services nutze ein privates Docker-Netzwerk und vermeide einen unnötigen öffentlichen Host-Port.

Offizielle Referenzen

  1. Ollama-Docker-Dokumentation - Offizielle Container-Images und Docker-Hinweise
  2. Ollama-API-Dokumentation - Offizielle Endpoint- und Request-Referenz
  3. Docker-Compose-GPU-Unterstützung - Offizielle Hinweise zu GPU-Reservierung und Compose

Verwandte lokale KI-Leitfäden

  • Odysseus AI Docker-Setup - Docker-first-Bereitstellung für den gesamten Odysseus-AI-Arbeitsbereich.
  • Odysseus AI Ollama-Setup - Eine vorhandene Ollama-Laufzeit mit Odysseus verbinden, ohne Endpoints zu verwechseln.
  • Ollama MCP-Server - Lokale Inferenz von MCP-Tools, Freigaben und externen Aufrufen trennen.
  • Ollama Web Search - Gehostete Web-Search-API mit lokalen und selbst gehosteten Suchwegen vergleichen.
  • OpenCode Ollama-Setup - Einen containerisierten Ollama-Endpoint in einem lokalen Coding-Agent-Workflow nutzen.

Zuletzt aktualisiert: 22.08.2026

Zur Startseite