Naar inhoud
lightbulb Welkom op de nieuwe kennisbank | We hebben de docs volledig vernieuwd met meer dan 160 features. Bekijk wat nieuw isarrow_forward

Ollama draaien in Docker

Leer hoe je Ollama in Docker draait: de officiele image starten, modellen behouden via volumes, GPU-versnelling inschakelen en Ollama combineren met Open WebUI in een docker-compose-bestand.

Ollama draaien in Docker geeft je een schone, herhaalbare opzet die je eenvoudig verplaatst tussen je laptop, een server of de cloud. In plaats van Ollama direct op je systeem te installeren, draait het netjes geisoleerd in een container.

Waarom Ollama in Docker?

Docker pakt Ollama en al zijn afhankelijkheden in een container. Dat heeft voordelen: je systeem blijft schoon, je opzet is overdraagbaar, en je kunt meerdere diensten netjes naast elkaar draaien. Op een server is dit vaak de standaardmanier om software uit te rollen.

info

Wanneer Docker, wanneer niet?

Op je persoonlijke laptop is de gewone Ollama-installatie vaak eenvoudiger. Op een server, of als je Ollama met andere diensten combineert, is Docker meestal de betere keuze vanwege isolatie en herhaalbaarheid.

De Ollama-container starten

De officiele image heet ollama/ollama. Je start hem met een volume voor modelopslag, zodat gedownloade modellen niet verdwijnen als de container herstart:

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

Het benoemde volume ollama bewaart je modellen, de poort 11434 maakt de API bereikbaar, en de naam ollama maakt de container makkelijk te beheren.

warning

Vergeet het volume nooit

Zonder het volume verlies je al je gedownloade modellen wanneer de container wordt verwijderd of opnieuw opgebouwd. Voeg de vlag -v ollama:/root/.ollama dus altijd toe, anders moet je elke keer alles opnieuw downloaden.

GPU-versnelling inschakelen

Heb je een NVIDIA-videokaart, dan wil je die in Docker benutten. Daarvoor installeer je de NVIDIA Container Toolkit (versie 1.16 of nieuwer) en voeg je de --gpus all-vlag toe aan je startcommando.

GPU inschakelen in Docker

  1. Installeer de NVIDIA Container Toolkit op je host volgens de NVIDIA-documentatie.
  2. Configureer de Docker-runtime met sudo nvidia-ctk runtime configure --runtime=docker.
  3. Herstart de Docker-dienst met sudo systemctl restart docker zodat de toolkit wordt herkend.
  4. Start Ollama met de extra vlag --gpus all in je docker run-commando.
  5. Controleer met docker exec -it ollama nvidia-smi of de kaart in de container zichtbaar is en wordt belast tijdens een model.

Een volledig startcommando met GPU ziet er zo uit:

docker run -d --gpus all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
lightbulb

Werkt ook zonder GPU

Geen GPU? Ollama draait prima op alleen de processor in Docker. Laat dan simpelweg de --gpus all-vlag weg. Kleine modellen blijven goed werkbaar, al is het trager dan met versnelling.

Modellen ophalen in de container

Zodra de container draait, haal je modellen op door een commando in de container uit te voeren:

docker exec -it ollama ollama pull llama3.3

Dit downloadt het model in het volume, waar het bewaard blijft. Je kunt ook gewoon de API op poort 11434 aanspreken vanaf je host of een andere container. Vervang llama3.3 door een ander model uit de Ollama-bibliotheek, bijvoorbeeld een kleiner model als je weinig geheugen hebt.

Ollama en Open WebUI samen

De echte kracht zie je als je Ollama combineert met Open WebUI in een docker-compose-bestand. Daarmee start je beide diensten met een enkel commando en zorg je dat ze elkaar automatisch vinden.

Een minimaal docker-compose.yml ziet er zo uit:

services:
  ollama:
    image: ollama/ollama
    volumes:
      - ollama:/root/.ollama
    restart: unless-stopped

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    ports:
      - "3000:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    volumes:
      - open-webui:/app/backend/data
    depends_on:
      - ollama
    restart: unless-stopped

volumes:
  ollama:
  open-webui:

De stappen om dit op te zetten:

  1. Schrijf het docker-compose.yml-bestand met beide diensten.
  2. Geef beide diensten een eigen volume voor hun data, zodat modellen en chats bewaard blijven.
  3. Laat de diensten elkaar via het interne Docker-netwerk vinden; Open WebUI bereikt Ollama op http://ollama:11434 via de servicenaam.
  4. Start alles met docker compose up -d.

Daarna open je de webinterface in je browser op poort 3000 en koppelt Open WebUI automatisch aan Ollama.

Tip voor productie

Voor een productieserver plaats je een reverse proxy zoals Nginx of Traefik voor Open WebUI om HTTPS en toegangscontrole te regelen. Stel de Ollama-API zelf nooit direct open naar het internet zonder beveiliging, want dan kan iedereen je modellen en hardware gebruiken.

Verlies ik mijn modellen bij een herstart?

Niet als je een volume gebruikt zoals in de voorbeelden. Het volume bewaart je modellen buiten de container, ook na een herbouw of update van de image.

Heb ik een GPU nodig om Ollama in Docker te draaien?

Nee, Ollama draait ook in Docker op alleen de processor. Een GPU versnelt het aanzienlijk, vooral bij grotere modellen, maar is geen vereiste.

Kan ik Ollama op een server zonder beeldscherm draaien?

Ja, dat is juist een ideale toepassing. Je benadert de API via het netwerk op poort 11434 en beheert alles via de terminal of via Open WebUI.

Hoe combineer ik Ollama met andere diensten?

Met docker-compose beschrijf je meerdere diensten in een bestand die elkaar via een intern netwerk vinden, zoals Ollama en Open WebUI samen. Elke dienst bereikt de andere via de servicenaam.

Waarom werkt mijn GPU niet in de container?

Meestal ontbreekt de NVIDIA Container Toolkit of is de Docker-runtime niet geconfigureerd. Controleer met docker info of de nvidia-runtime aanwezig is en herstart Docker nadat je de toolkit hebt geconfigureerd.

Welk model kan ik het beste eerst proberen?

Begin met een klein tot middelgroot model dat in je beschikbare geheugen past. Grote modellen zoals llama3.3:70b vragen veel VRAM; kies een kleinere variant als je hardware beperkt is.

Met Docker draait Ollama netjes geisoleerd en herhaalbaar. Lees verder over Open WebUI instellen of bekijk welke hardware je nodig hebt voor een AI-server.