# Images Docker disponibles

Lors de la location d'un serveur GPU sur Clore.ai, vous pouvez choisir parmi des images Docker préconfigurées ou utiliser vos propres images personnalisées.

## Images officielles Clore

Images préconstruites maintenues par Clore.ai, optimisées pour le marché décentralisé des GPU.

### Usage général

| Image Docker                              | Description                                       | Ports    | Mis à jour  |
| ----------------------------------------- | ------------------------------------------------- | -------- | ----------- |
| `cloreai/jupyter:ubuntu24.04-v2`          | Jupyter Lab + SSH sur Ubuntu 24.04                | 22, 8888 | Jan 2025 ✅  |
| `cloreai/ml-tools:0.1`                    | Jupyter Lab + serveur Web VS Code                 | 22, 8888 | Jul 2023 ⚠️ |
| `cloreai/ubuntu20.04-jupyter:latest`      | Ubuntu 20.04 + SSH + Jupyter                      | 22, 8888 | Nov 2022 ⚠️ |
| `cloreai/ubuntu-20.04-remote-desktop:1.2` | Ubuntu avec interface graphique bureau à distance | 22, 3389 | May 2023 ⚠️ |
| `cloreai/torch:2.0.1`                     | PyTorch 2.0.1 + CUDA                              | 22       | Jul 2023 ⚠️ |

### Inférence AI/ML

| Image Docker                            | Description                          | Ports | Mis à jour  |
| --------------------------------------- | ------------------------------------ | ----- | ----------- |
| `cloreai/deepseek-r1-8b:latest`         | DeepSeek R1 8B prêt à l'emploi       | 8000  | Jan 2025 ✅  |
| `cloreai/stable-diffusion-webui:latest` | AUTOMATIC1111 SD WebUI               | 7860  | Sep 2023 ⚠️ |
| `cloreai/oobabooga:1.5`                 | Interface Web de génération de texte | 7860  | Aug 2023 ⚠️ |

### Infrastructure & Mining

| Image Docker                | Description                            | Mis à jour  |
| --------------------------- | -------------------------------------- | ----------- |
| `cloreai/monitoring:0.7`    | Agent de surveillance de serveur       | Sep 2024 ✅  |
| `cloreai/hiveos:0.4`        | Intégration HiveOS                     | Feb 2025 ✅  |
| `cloreai/openvpn-proxy:0.2` | Transfert VPN/proxy                    | Feb 2025 ✅  |
| `cloreai/proxy:0.2`         | Système de redirection de ports        | Jan 2024    |
| `cloreai/automining:0.1`    | Configuration d'extraction automatique | Jun 2023 ⚠️ |
| `cloreai/kuzco:latest`      | Inférence distribuée Kuzco             | Jun 2025 ✅  |
| `cloreai/partner:nastya-01` | Outils d'intégration partenaire        | Apr 2025 ✅  |

> ⚠️ Les images marquées par ⚠️ n'ont pas été mises à jour depuis plus d'un an. Pour les charges ML, envisagez d'utiliser les **images communautaires** ci-dessous qui offrent des versions plus récentes de CUDA et des frameworks.

## Images communautaires recommandées

Images éprouvées par la communauté AI/ML plus large, avec maintenance active et versions récentes.

### Frameworks de deep learning

| Image                   | Tag                              | Description                    | Cas d'utilisation                    | Ports              |
| ----------------------- | -------------------------------- | ------------------------------ | ------------------------------------ | ------------------ |
| `pytorch/pytorch`       | `2.10.0-cuda13.0-cudnn9-runtime` | Dernier PyTorch avec CUDA 13.0 | Entraînement/inférence deep learning | 8888 (Jupyter)     |
| `nvidia/cuda`           | `13.1.1-runtime-ubuntu22.04`     | Runtime NVIDIA CUDA            | Applications CUDA personnalisées     | -                  |
| `nvidia/cuda`           | `13.1.1-devel-ubuntu22.04`       | Outils de développement CUDA   | Compilation de projets CUDA          | -                  |
| `tensorflow/tensorflow` | `2.15.0-gpu`                     | Support GPU pour TensorFlow    | Flux de travail TensorFlow           | 8888 (TensorBoard) |

### Moteurs d'inférence LLM

| Image                                           | Tag      | Description                   | Cas d'utilisation           | Ports |
| ----------------------------------------------- | -------- | ----------------------------- | --------------------------- | ----- |
| `vllm/vllm-openai`                              | `latest` | Service LLM haute performance | API LLM en production       | 8000  |
| `ghcr.io/huggingface/text-generation-inference` | `3.3.5`  | Hugging Face TGI              | Service LLM pour entreprise | 80    |
| `ollama/ollama`                                 | `latest` | Exécuteur LLM local           | Déploiement LLM local/edge  | 11434 |

### Génération d'images

| Image                             | Tag      | Description                        | Cas d'utilisation                | Ports |
| --------------------------------- | -------- | ---------------------------------- | -------------------------------- | ----- |
| `goolashe/automatic1111-sd-webui` | `latest` | Stable Diffusion WebUI             | Génération d'art IA              | 7860  |
| `sinfallas/comfyui`               | `latest` | ComfyUI basé sur des nœuds pour SD | Flux de travail d'images avancés | 8188  |

### Environnements de développement

| Image                         | Tag                            | Description            | Cas d'utilisation          | Ports |
| ----------------------------- | ------------------------------ | ---------------------- | -------------------------- | ----- |
| `jupyter/tensorflow-notebook` | `latest`                       | Jupyter + TensorFlow   | Expérimentation ML         | 8888  |
| `jupyter/pytorch-notebook`    | `latest`                       | Jupyter + PyTorch      | Recherche en deep learning | 8888  |
| `cschranz/gpu-jupyter`        | `v1.10_cuda-12.9_ubuntu-24.04` | Jupyter compatible GPU | Calcul GPU                 | 8888  |

## Sélection d'une image

### Via l'interface Web

1. Aller à **Place de marché** → Trouver un serveur → **Louer**
2. Dans le formulaire de commande, sélectionnez **Image Docker** dans le menu déroulant
3. Choisissez parmi les options préconfigurées ou saisissez une image personnalisée
4. Configurez les ports exposés (séparés par des virgules : `8888,7860,8000`)
5. Ajoutez des variables d'environnement si nécessaire
6. Soumettre la commande

### Via l'API

```json
{
  "image": "pytorch/pytorch:2.10.0-cuda13.0-cudnn9-runtime",
  "ports": [8888, 8000],
  "env": {
    "JUPYTER_ENABLE_LAB": "yes"
  }
}
```

## Images Docker personnalisées

### Registres pris en charge

* **Docker Hub**: `username/image:tag`
* **GitHub Container Registry**: `ghcr.io/user/image:tag`
* **NVIDIA NGC**: `nvcr.io/nvidia/image:tag`
* **Google Container Registry**: `gcr.io/project/image:tag`

### Exemples

```bash
# PyTorch dernier avec CUDA 12.1
pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime

# Base NVIDIA CUDA
nvidia/cuda:12.2.0-base-ubuntu22.04

# Hugging Face Transformers
huggingface/transformers-pytorch-gpu:4.35.0

# Image personnalisée
votre-username/mon-modele-ia:v1.0
```

### Exigences pour les images personnalisées

* ✅ Doit être accessible publiquement
* ✅ Doit inclure le support NVIDIA GPU pour les instances GPU
* ✅ Basée sur des images compatibles CUDA pour l'accélération GPU
* ✅ Inclure les pilotes et bibliothèques nécessaires
* ⚠️ Les images volumineuses (>10 Go) peuvent prendre plus de temps à télécharger

## Configuration des ports

Exposez des ports pour que vos applications soient accessibles depuis l'extérieur :

| Port  | Usage courant        | Framework                     |
| ----- | -------------------- | ----------------------------- |
| 22    | Accès SSH            | Système                       |
| 8888  | Jupyter Notebook/Lab | Jupyter                       |
| 7860  | Interfaces Gradio    | SD WebUI, applications Gradio |
| 8000  | Serveurs API         | vLLM, FastAPI                 |
| 3000  | Applications Web     | React, Node.js                |
| 8080  | Services HTTP        | Services web généraux         |
| 11434 | API Ollama           | Ollama                        |
| 8188  | Interface ComfyUI    | ComfyUI                       |

### Définir les ports dans le formulaire de commande

```
8888,7860,8000
```

## Variables d'environnement

Transmettez la configuration à vos conteneurs :

### Exemples courants

```bash
# Jeton Hugging Face
HF_TOKEN=hf_votre_jeton_ici

# Configuration du modèle
MODEL_NAME=meta-llama/Llama-2-7b-chat-hf
CUDA_VISIBLE_DEVICES=0

# Configuration Jupyter
JUPYTER_ENABLE_LAB=yes
JUPYTER_TOKEN=your_secure_token

# Configuration vLLM
VLLM_WORKER_MULTIPROC_METHOD=spawn
```

### Notes de sécurité

* ❌ Ne mettez pas de secrets dans les variables d'environnement
* ✅ Utilisez des jetons temporaires ou des clés API
* ✅ Montez les secrets en tant que volumes lorsque c'est possible

## Stockage persistant

### Emplacements de stockage

* `/workspace` - Généralement persistant pendant la période de location
* `/root` - Peut être réinitialisé au redémarrage du conteneur
* `/tmp` - Stockage temporaire, non persistant

### Bonnes pratiques

* Stockez les données importantes dans `/workspace`
* Utilisez un stockage externe pour les sauvegardes (S3, GCS, etc.)
* Téléchargez les modèles dans des répertoires persistants
* Utilisez des montages de volumes pour les grands ensembles de données

## Bonnes pratiques

### Sélection d'image

1. **Utilisez des tags récents** - Évitez `latest` en production, privilégiez les tags versionnés
2. **Choisissez une base appropriée** - Faites correspondre la version CUDA avec votre framework
3. **Considérez la taille de l'image** - Les images plus petites se téléchargent plus rapidement
4. **Vérifiez la maintenance** - Préférez les images activement maintenues

### Sécurité

1. **Exposez le minimum de ports** - N'exposez que les ports dont vous avez besoin
2. **Utilisez l'authentification** - Définissez des jetons pour Jupyter/interfaces web
3. **Mettez à jour régulièrement** - Utilisez des versions d'images récentes
4. **Surveillez l'accès** - Vérifiez qui se connecte à vos services

### Performance

1. **Compatibilité GPU** - Vérifiez que la version CUDA correspond à vos besoins
2. **Pré-téléchargez les modèles** - Incluez les modèles dans les images personnalisées pour un démarrage plus rapide
3. **Optimisez les conteneurs** - Utilisez des builds multi-étapes, minimisez les couches
4. **Gestion du cache** - Profitez du cache des couches Docker

## Dépannage

### L'image ne démarre pas

```bash
# Vérifiez si l'image existe et est publique
docker pull votre-image:tag

# Vérifiez la compatibilité CUDA
nvidia-smi
nvcc --version
```

**Problèmes courants :**

* L'image n'existe pas ou est privée
* Version CUDA incompatible
* Espace disque insuffisant
* Mauvaise architecture (arm64 vs x86\_64)

### GPU inaccessible

```bash
# Vérifiez la disponibilité du GPU
nvidia-smi

# Testez CUDA dans le conteneur
python -c "import torch; print(torch.cuda.is_available())"
```

**Solutions :**

* Utilisez des images de base compatibles GPU
* Assurez-vous que le NVIDIA Container Toolkit est disponible
* Vérifiez la compatibilité des pilotes CUDA

### Impossible d'accéder aux ports exposés

1. Attendez que le conteneur ait entièrement démarré (vérifiez les logs)
2. Vérifiez que le service s'exécute à l'intérieur du conteneur : `netstat -tlnp`
3. Vérifiez si le service se lie à 0.0.0.0, pas à 127.0.0.1
4. Confirmez que le port est exposé dans le formulaire de commande

### Problèmes de performance

* Utilisez un stockage SSD local pour les poids des modèles
* Optimisez les tailles de batch pour la mémoire GPU disponible
* Surveillez l'utilisation GPU : `nvidia-smi -l 1`
* Vérifiez l'utilisation CPU/mémoire : `htop`

## Exemples de démarrage rapide

### Déployer Jupyter avec PyTorch

```bash
Image : pytorch/pytorch:2.10.0-cuda13.0-cudnn9-runtime
Ports : 8888
Commande : jupyter lab --ip=0.0.0.0 --allow-root --no-browser
```

### Déployer un serveur API vLLM

```bash
Image : vllm/vllm-openai:latest
Ports : 8000
Env : MODEL_NAME=microsoft/DialoGPT-medium
Commande : python -m vllm.entrypoints.openai.api_server --model $MODEL_NAME --host 0.0.0.0
```

### Déployer Stable Diffusion WebUI

```bash
Image : goolashe/automatic1111-sd-webui:latest
Ports : 7860
Commande : --listen --api --xformers
```

### Déployer Ollama

```bash
Image : ollama/ollama:latest
Ports : 11434
Commande : ollama serve
# Ensuite : ollama run llama2 (à l'intérieur du conteneur)
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/clore.ai/clore.ai-eng-fr/pour-les-locataires/docker-images.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
