Accueil Blog Ollama + Docker
Guide avancé

Ollama + Docker : déployer une IA locale proprement en 2026

Par l'équipe OutilsIA avril 2026 18 min de lecture

Vous savez déjà faire tourner Ollama en local. Maintenant, passons au niveau supérieur : conteneuriser votre stack IA avec Docker pour un déploiement propre, reproductible et partageable. Ce guide s'adresse aux développeurs et administrateurs système qui veulent déployer une IA locale en production — que ce soit pour une équipe, un serveur interne ou un pipeline CI/CD.

🎯 Prérequis

  • ✓ Docker et Docker Compose installés
  • ✓ Un GPU NVIDIA (recommandé) avec les drivers à jour
  • ✓ Connaissances basiques en ligne de commande
  • Ollama (compréhension du fonctionnement)

Pourquoi Docker pour Ollama ?

Installer Ollama directement sur votre machine fonctionne très bien pour un usage personnel. Mais Docker apporte des avantages considérables pour un déploiement sérieux :

📦 Isolation

Chaque service tourne dans son conteneur isolé. Pas de conflit de dépendances, pas de pollution du système hôte.

🔄 Reproductibilité

Un docker-compose.yml décrit toute votre stack. Déployez la même configuration sur n'importe quelle machine.

👥 Partage en équipe

Montez un serveur IA partagé pour toute votre équipe. Un seul GPU, plusieurs utilisateurs simultanés.

🛠 Maintenance

Mises à jour, rollback et monitoring simplifiés. Un docker compose pull suffit pour tout mettre à jour.

Étape 1 : GPU Passthrough avec NVIDIA Container Toolkit

Pour que Docker puisse accéder à votre GPU NVIDIA, vous devez installer le NVIDIA Container Toolkit. C'est l'étape la plus critique :

# Ajouter le dépôt NVIDIA
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# Installer le toolkit
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
# Configurer Docker pour utiliser le runtime NVIDIA
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# Vérifier que le GPU est accessible depuis Docker
docker run --rm --gpus all nvidia/cuda:12.0-base nvidia-smi

💡 Vérification

Si la dernière commande affiche les informations de votre GPU (nom, mémoire, température), le passthrough fonctionne correctement. Si vous obtenez une erreur, vérifiez que vos drivers NVIDIA sont à jour avec nvidia-smi sur la machine hôte.

Étape 2 : Docker Compose pour Ollama

Voici un fichier docker-compose.yml complet pour déployer Ollama avec une interface web (Open WebUI) :

# docker-compose.yml
version: "3.8"
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
volumes:
- webui_data:/app/backend/data
environment:
- OLLAMA_BASE_URL=http://ollama:11434
depends_on:
- ollama
restart: unless-stopped
volumes:
ollama_data:
webui_data:
# Lancer la stack
docker compose up -d
# Télécharger un modèle
docker exec ollama ollama pull llama3.1:8b
docker exec ollama ollama pull deepseek-r1:14b
docker exec ollama ollama pull mistral:7b
# Accéder à l'interface web
# Ouvrir http://localhost:3000 dans votre navigateur

Étape 3 : Multi-modèle et API REST

L'un des grands avantages d'Ollama est la possibilité de servir plusieurs modèles simultanément. Voici comment exploiter l'API REST :

# Lister les modèles disponibles
curl http://localhost:11434/api/tags
# Faire une requête de chat (compatible OpenAI)
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llama3.1:8b",
"messages": [
{"role": "system", "content": "Tu es un assistant utile."},
{"role": "user", "content": "Explique Docker en 3 phrases."}
]
}'
# Générer des embeddings pour le RAG
curl http://localhost:11434/api/embeddings \
-d '{"model": "nomic-embed-text", "prompt": "Votre texte ici"}'

L'API est compatible avec le format OpenAI, ce qui signifie que vous pouvez utiliser n'importe quelle bibliothèque client OpenAI (Python, JavaScript, etc.) en changeant simplement l'URL de base. Pour construire un système RAG complet, consultez notre guide RAG local avec Ollama.

Étape 4 : Reverse proxy avec Nginx

Pour exposer votre serveur IA sur le réseau de manière sécurisée, utilisez Nginx comme reverse proxy avec HTTPS :

# nginx.conf (à ajouter au docker-compose)
server {
listen 443 ssl;
server_name ia.votre-domaine.fr;
ssl_certificate /etc/letsencrypt/live/ia.votre-domaine.fr/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ia.votre-domaine.fr/privkey.pem;
location / {
proxy_pass http://open-webui:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /api/ {
proxy_pass http://ollama:11434/;
proxy_set_header Host $host;
}
}

Cas d'usage en production

👥 Serveur IA d'équipe

Déployez Ollama + Open WebUI sur un serveur avec un GPU puissant. Vos collègues accèdent à l'IA via le navigateur, sans installer quoi que ce soit. Les conversations restent dans votre infrastructure — idéal pour les entreprises soucieuses de la confidentialité des données.

🛠 CI/CD avec IA

Intégrez Ollama dans votre pipeline CI/CD pour la revue de code automatique, la génération de tests ou la documentation. L'API REST s'intègre facilement dans un script bash ou un workflow GitHub Actions. Le modèle tourne sur votre serveur de build, sans frais cloud.

💬 Chatbot self-hosted

Créez un chatbot personnalisé pour votre site web ou application interne. Ollama sert de backend, votre frontend appelle l'API REST. Combiné avec un système RAG (consultez notre guide RAG local), le chatbot peut répondre à des questions spécifiques à votre domaine.

Monitoring et maintenance

# Voir les logs en temps réel
docker compose logs -f ollama
# Surveiller l'utilisation GPU
watch -n 1 nvidia-smi
# Mettre à jour tous les services
docker compose pull && docker compose up -d
# Nettoyer les modèles inutilisés
docker exec ollama ollama rm modele-inutile
# Sauvegarder les volumes
docker run --rm -v ollama_data:/data -v $(pwd):/backup alpine tar czf /backup/ollama-backup.tar.gz /data

Pour un déploiement en production, pensez aussi à configurer les limites de ressources Docker, à mettre en place un système de logs centralisé (comme Loki + Grafana) et à automatiser les sauvegardes. Consultez notre page IA locale pour d'autres guides avancés.

Questions fréquentes

Non, l'impact est négligeable (moins de 1% de perte de performance). Docker utilise des conteneurs Linux natifs, pas de virtualisation. Le GPU passthrough via NVIDIA Container Toolkit donne un accès direct au matériel. Les performances sont quasi identiques à une installation native.
Le support AMD ROCm dans Docker est en progression mais reste moins mature que NVIDIA. En avril 2026, Ollama supporte les GPU AMD via ROCm, mais la configuration Docker nécessite plus d'efforts. Pour un déploiement Docker en production, un GPU NVIDIA est fortement recommandé pour sa fiabilité et sa documentation supérieure.
Cela dépend de votre GPU et de la taille du modèle. Avec une RTX 4090 (24 Go VRAM) et un modèle 7B, vous pouvez servir confortablement 5 à 10 utilisateurs simultanés. Les requêtes sont mises en file d'attente automatiquement. Pour une équipe plus grande, envisagez plusieurs instances Ollama derrière un load balancer, ou un GPU serveur comme l'A100 (80 Go VRAM).