Poste de travail high-tech avec écran Ollama et GPU NVIDIA

Ollama dans docker : guide d'installation et d'usage local

💡En bref

  • L’image officielle d’Ollama dans Docker fait environ 3,1 Go pour la version latest et 1,36 Go pour le tag rocm.

  • Pour démarrer un conteneur Ollama, utilisez une commande qui publie le port 11434 et monte le volume persistant /root/.ollama.

  • Pour utiliser Ollama avec une interface graphique, un fichier docker-compose.yml doit inclure les services Ollama et WebUI, partageant le réseau interne.

  • La passerelle GPU nécessite l’installation du NVIDIA Container Toolkit et permet de configurer Ollama pour fonctionner avec des GPU NVIDIA.

  • Pour tester l’API, utilisez curl sur http://localhost:11434/api/tags après avoir démarré le service Ollama.

Ollama docker, ce que vous gagnez vraiment

Monter Ollama dans Docker évite de salir la machine hôte, garde les modèles dans un volume persistant et simplifie le passage du CPU au GPU. Pour un usage local, l’utilisation de Docker pour Ollama suffit souvent à exposer l’API sur http://localhost:11434, avec un stockage propre dans /root/.ollama. Et oui, il est possible de run un container simple, puis d’ajouter une interface, un fichier compose yml ou un accès NVIDIA sans tout refaire. Pour les essais LLM, c’est plus propre qu’une installation native.

Infographie sur les prérequis pour utiliser Ollama avec Docker

Installation de ollama docker sur une base propre

Le plus direct reste l’image officielle. Sa taille compressée tourne autour de 3,1 Go en latest sur linux/amd64, contre 1,36 Go pour le tag rocm. Si vous visez une utilisation uniquement sur le CPU, comptez surtout sur la RAM système, pas sur la VRAM.

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

Cette commande docker run fait trois choses utiles. Elle publie le port 11434, crée un volume persistant, et garde le contenu de root ollama après un restart. L’URL interne du service reste http://ollama:11434 si un autre service Compose doit y parler.

Tag

Taille approximative

Usage

latest

3,1 Go

CPU ou NVIDIA

rocm

1,36 Go

AMD ROCm

0.30.x

2,5 à 3,2 Go

version figée

Pourquoi exécuter ollama dans un conteneur docker

Le gain, ce n’est pas juste le confort. Le même setup passe de la machine de dev au serveur Linux sans changer vos commandes, vos volumes ou vos tags.

Infographie illustrant les ports, commandes et erreurs courantes d'Ollama Docker.

  • Isolation des dépendances

  • Volumes faciles à sauvegarder

  • Déploiement reproductible

  • API locale sur le port 11434

  • Retour arrière simple avec un autre tag

Pour aller plus loin sur les différences entre ces deux approches d’isolation, l’article sur la virtualisation vs conteneurisation donne un bon cadre de référence.

Configurer ollama avec docker compose, volumes et interface graphique

Quand vous voulez Ollama avec une interface graphique, Docker Compose pour Ollama devient plus pratique. Le point clé, c’est le partage du réseau interne et la persistance des modèles dans /root/.ollama.

Diagramme illustrant la structure d'un fichier docker-compose.yml

Un fichier compose yml simple pour docker compose avec ollama

Voici un yml minimal qui fait le travail, avec Ollama et Ollama WebUI dans deux services.

version: "3.9"
services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama_data:/root/.ollama
    environment:
      - OLLAMA_HOST=0.0.0.0
    restart: unless-stopped
webui:
image: ghcr.io/open-webui/open-webui:main
container_name: ollama-webui
ports:
- "3000:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
volumes:
- webui_data:/app/backend/data
depends_on:
- ollama
restart: unless-stopped
volumes:
ollama_data:
webui_data:

Avec ce fichier, le service webui parle à Ollama via http://ollama:11434, pas via localhost. C’est la nuance qui bloque souvent le premier test.

Ollama webui, réseau interne et accès API

Une fois le stack lancé avec docker compose up -d, vous avez deux points d’accès. http://localhost:11434 pour l’API, et http://localhost:3000 pour Ollama WebUI. Si vous voulez tester rapidement l’API, curl http://localhost:11434/api/tags suffit.

  • Port 11434 pour l’API Ollama

  • Port 3000 pour le WebUI

  • Volume ollama_data pour les modèles

  • Volume webui_data pour les données d’interface

  • Nom du réseau interne ollama pour l’URL du service

Passerelle GPU pour ollama, nvidia, amd et besoins matériels

Côté performances, la différence entre CPU et GPU est brutale. Un modèle 7B peut répondre en quelques secondes sur une carte correcte, alors qu’en usage CPU uniquement il devient vite lent, surtout dès que le prompt grossit. Si vous cherchez à calibrer votre choix de modèle avant de configurer le GPU, un tour sur les modèles IA légers en local aide à identifier ce qui tourne correctement selon votre matériel.

Passerelle GPU pour ollama avec nvidia container toolkit

Pour permettre la passerelle GPU avec Ollama sur NVIDIA, il faut d’abord le NVIDIA Container Toolkit. Sous Debian ou Ubuntu, la séquence standard reste fiable.

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -fsSL 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
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Ensuite, démarrez le container avec les GPUs.

docker run -d \
  --gpus=all \
  --name ollama-gpu \
  -v ollama:/root/.ollama \
  -p 11434:11434 \
  ollama/ollama

Sur Jetson, passez parfois JETSON_JETPACK=5 ou JETSON_JETPACK=6. C’est un détail, mais il évite des heures perdues.

Amd, vulkan et ggml_vk_visible_devices

Avec AMD, deux cas existent. Soit vous utilisez le tag rocm, soit vous laissez Vulkan gérer l’accès aux dispositifs. La variable utile à retenir est GGML_VK_VISIBLE_DEVICES. Elle permet de choisir un ou plusieurs identifiants GPU dans les systèmes qui ont plusieurs cartes.

docker run -d \
  --device /dev/kfd \
  --device /dev/dri \
  -e GGML_VK_VISIBLE_DEVICES=0 \
  -v ollama:/root/.ollama \
  -p 11434:11434 \
  --name ollama-amd \
  ollama/ollama

Vous pouvez aussi désactiver Vulkan avec OLLAMA_VULKAN=0. Sur une machine AMD, ce réglage aide parfois quand le driver ou le mapping des dispositifs coince.

Modèle

RAM minimale

Taille disque

Llama 3.2 3B

8 Go

2 à 3 Go

Mistral 7B

16 Go

4 à 5 Go

Llama 3.1 8B

16 Go

5 à 6 Go

Utiliser GitHub pour ollama docker, API et commandes utiles

Le dépôt de Ollama Docker sur GitHub sert surtout à vérifier les tags, les exemples de Compose et quelques problèmes matériels. Mais pour travailler vite, quelques commandes suffisent. Inutile de créer une usine à gaz.

Tester l’API, pull un modèle et lancer ollama run

Dès que le service répond, téléchargez un modèle, puis interrogez l’API. Le stockage reste dans ollama root, donc les modèles survivent aux recréations de container si le volume est bien monté.

docker exec -it ollama ollama pull llama3.2
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Explain Docker in one sentence",
  "stream": false
}'

Si vous préférez la CLI, ollama run llama3.2 marche aussi via docker exec -it ollama ollama run llama3.2. Le retour passe par le terminal, sans couche web. Pour les usages en ligne de commande plus avancés, le guide Claude Code terminal illustre comment exploiter ce type d’environnement local via des outils d’IA agentique.

Dépannage rapide pour docker, compose et webui

Les pannes reviennent souvent aux mêmes points. Un port déjà pris, un volume absent, un toolkit GPU mal configuré, ou une URL interne incorrecte entre services.

  • Vérifier docker ps et le nom du service

  • Tester curl http://localhost:11434/api/tags

  • Consulter docker logs ollama

  • Confirmer le montage /root/.ollama

  • Utiliser http://ollama:11434 dans le WebUI

Problème

Cause fréquente

Correction

API inaccessible

port 11434 non publié

vérifier -p 11434:11434

modèles perdus

pas de volume

monter /root/.ollama

GPU absent

toolkit ou dispositifs manquants

revoir NVIDIA ou AMD

Questions fréquentes sur l’utilisation de docker pour ollama

Cette partie répond aux blocages les plus fréquents. Pas de détour.

Est-il possible d’exécuter ollama dans un conteneur docker ?

Oui. C’est même un cas d’usage très courant sous Linux. Le service écoute sur 11434, garde ses modèles dans un volume, et expose une API REST locale.

Comment installer ollama dans un conteneur docker ?

Le plus simple passe par une installation de Ollama Docker avec l’image officielle, puis un docker run qui monte /root/.ollama et publie 11434:11434. Ajoutez ensuite docker exec pour faire un ollama pull.

Infographie comparant les avantages de Docker pour Ollama.

Docker est-il obligatoire pour ollama ?

Non. Ollama peut tourner hors conteneur, surtout sur macOS et Windows. Mais Docker reste utile si vous voulez un environnement propre, portable, et facile à redéployer.

Comment configurer ollama avec docker compose ?

Il faut un service Ollama, un volume persistant, le port 11434, puis un second service pour Ollama WebUI si vous voulez une interface. Dans ce cas, l’URL interne doit pointer vers http://ollama:11434.

Quelle URL utiliser pour accéder à ollama docker ?

Depuis l’hôte, utilisez http://localhost:11434. Depuis un autre service du même réseau Compose, utilisez http://ollama:11434. C’est souvent là que ça coince.

Contactez la rédaction de Mission Open Data

Une question, une suggestion ou un sujet à partager ? Notre média décrypte et valorise les enjeux de l’open data.

Lionel Gigot

Rédacteur data & blogueur

Dans la même catégorie

Le média de référence pour les professionnels de la data. Actus, analyses, tutoriels — 100% indépendant

© 2026 Mission open data • Tous droits réservés

Retour en haut