Ejemplo con Docker

Esta página muestra una configuración reproducible con Docker para ejecutar un escenario .pmod de AugeLab Studio en modo headless.

La imagen se construye localmente a partir de un Dockerfile. Los clientes no necesitan el código fuente de AugeLab Studio. El contenedor instala el paquete cerrado studio desde el índice de paquetes de AugeLab durante la construcción de la imagen.

Requisitos previos

  • Docker Desktop o Docker Engine con Docker Compose.

  • Acceso al índice de paquetes de AugeLab.

  • Un código de verificación de AugeLab.

  • Un escenario .pmod que pueda ejecutarse sin interfaz (headless).

  • Para GPU/CUDA: NVIDIA Container Toolkit instalado en el host.

Camino rápido

  1. Crea la estructura de carpetas que se muestra abajo.

  2. Pon tu archivo .pmod en app/.

  3. Añade tu código de verificación en .env.

  4. Usa el Dockerfile para CPU o para GPU según necesites.

  5. Ejecuta docker compose up --build.

  6. Revisa la carpeta output_on_host.

Estructura del proyecto

Sustituye your_scenario.pmod por tu propio archivo de escenario.

Archivo de entorno

Crea .env junto a docker-compose.yml:

chevron-right.envhashtag

No hagas commit de .env si contiene un código de verificación real.

Ejecutor del escenario

Crea app/run_scenario.py:

chevron-rightapp/run_scenario.pyhashtag

Si tu escenario escribe archivos, configúralo para que los escriba bajo /app/app_output.

Dockerfile para CPU

Usa este para ejecuciones headless en CPU.

chevron-rightapp/Dockerfilehashtag

Dockerfile para GPU/CUDA

Usa este cuando tu escenario necesite aceleración CUDA. El host debe tener controladores NVIDIA compatibles y NVIDIA Container Toolkit.

chevron-rightapp/Dockerfile.cudahashtag

Archivo de Compose

Usa este para el Dockerfile de CPU:

chevron-rightdocker-compose.ymlhashtag

Esto monta ./output_on_host desde tu carpeta del proyecto dentro del contenedor en /app/app_output.

⚠️ En Windows, usa barras inclinadas hacia adelante en rutas absolutas para montajes de Docker, por ejemplo C:/work/augelab_output:/app/app_output. Los montajes relativos como ./output_on_host:/app/app_output suelen ser más fáciles de compartir entre máquinas.

Compose para GPU/CUDA

Usa este para Dockerfile.cuda:

chevron-rightdocker-compose.cuda.ymlhashtag

Construir y ejecutar

CPU:

GPU/CUDA:

Deberías ver los logs de AugeLab Studio y el resultado del escenario en la terminal.

Verificar la salida

Revisa output_on_host en tu máquina host. Los archivos escritos por el escenario en /app/app_output deberían aparecer allí.

Solución de problemas

Problema
Verifica

Fallo al instalar studio

Confirma acceso a la red y al índice de paquetes de AugeLab.

Fallo de licencia/activación

Confirma que AUGELAB_VERIFICATION_CODE está establecido y que el contenedor tiene acceso a Internet.

Archivo de escenario no encontrado

Confirma que SCENARIO_PATH coincide con el .pmod copiado por el Dockerfile.

Carpeta de salida vacía

Confirma que el .pmod escribe en /app/app_output.

Volumen en Windows no se monta

Usa barras inclinadas hacia adelante y confirma que Docker Desktop puede acceder a la unidad.

Contenedor GPU no detecta la GPU

Instala NVIDIA Container Toolkit y prueba con docker run --rm --gpus all nvidia/cuda:12.8.0-base-ubuntu22.04 nvidia-smi.

Última actualización