Exemple Docker
Cette page montre une configuration Docker reproductible pour exécuter sans interface (headless) un scénario AugeLab Studio au format .pmod.
L'image est construite localement à partir d'un Dockerfile. Les clients n'ont pas besoin du code source d'AugeLab Studio. Le conteneur installe le paquet propriétaire studio depuis l'index de paquets AugeLab lors de la construction de l'image.
Prérequis
Docker Desktop ou Docker Engine avec Docker Compose.
Accès à l'index de paquets AugeLab.
Un code de vérification AugeLab.
Un scénario
.pmodpouvant s'exécuter en headless.Pour GPU/CUDA : NVIDIA Container Toolkit installé sur la machine hôte.
Chemin rapide
Créez la structure de dossiers ci-dessous.
Placez votre fichier
.pmoddansapp/.Ajoutez votre code de vérification dans
.env.Choisissez le Dockerfile CPU ou GPU.
Exécutez
docker compose up --build.Vérifiez le dossier
output_on_host.
Structure du projet
Remplacez your_scenario.pmod par votre propre fichier de scénario.
Fichier d'environnement
Créez .env à côté de docker-compose.yml :
Ne commitez pas .env s'il contient un vrai code de vérification.
Exécuteur de scénario
Créez app/run_scenario.py :
Si votre scénario écrit des fichiers, configurez-le pour qu'il les écrive sous /app/app_output.
Dockerfile CPU
Utilisez celui-ci pour des exécutions headless sur CPU.
Dockerfile GPU/CUDA
Utilisez celui-ci si votre scénario a besoin d'accélération CUDA. L'hôte doit avoir des pilotes NVIDIA compatibles et NVIDIA Container Toolkit installé.
Fichier Compose
Utilisez ceci pour le Dockerfile CPU :
Cela monte ./output_on_host depuis votre dossier de projet dans le conteneur en tant que /app/app_output.
Attention : sur Windows, utilisez des slashs avant (forward slashes) pour les chemins de montage Docker absolus, par exemple
C:/work/augelab_output:/app/app_output. Les montages relatifs comme./output_on_host:/app/app_outputsont généralement plus faciles à partager entre machines.
Compose pour GPU/CUDA
Utilisez ceci pour Dockerfile.cuda :
Construction et exécution
CPU :
GPU/CUDA :
Vous devriez voir les logs d'AugeLab Studio et le résultat du scénario dans le terminal.
Vérifier la sortie
Consultez output_on_host sur votre machine hôte. Les fichiers écrits par le scénario dans /app/app_output devraient apparaître là.
Dépannage
installation de studio échoue
Confirmez l'accès réseau et l'accès à l'index de paquets AugeLab.
Licence/activation échoue
Confirmez que AUGELAB_VERIFICATION_CODE est défini et que le conteneur a accès à Internet.
Fichier de scénario introuvable
Confirmez que SCENARIO_PATH correspond au .pmod copié par le Dockerfile.
Dossier de sortie vide
Confirmez que le .pmod écrit dans /app/app_output.
Volume Windows non monté
Utilisez des slashs avant et confirmez que Docker Desktop peut accéder au disque.
Le conteneur GPU ne voit pas le GPU
Installez NVIDIA Container Toolkit et testez avec docker run --rm --gpus all nvidia/cuda:12.8.0-base-ubuntu22.04 nvidia-smi.
Mis à jour