Saltar al contenido principal

Imagen oficial dagmalia/godml

La imagen oficial de godml está publicada en Docker Hub y contiene un entorno Python optimizado y securizado con todas las dependencias de godml preinstaladas.

docker pull dagmalia/godml:1.2.1

¿Para qué sirve esta imagen?

Caso de usoDescripción
Entorno de desarrolloEjecuta pipelines godml sin instalar nada en tu máquina
Base para tus imágenesExtiéndela con tu código y modelos
CI/CDImagen base reproducible y firmada para pipelines de entrenamiento
Servidor APISirve modelos entrenados como API REST

Tags disponibles

TagDescripción
dagmalia/godml:1.2.1Versión estable actual
dagmalia/godml:latestApunta siempre al último release

Modos de operación

La imagen expone tres modos a través de la variable de entorno MODE:

MODE=api (default)

Levanta el servidor de inferencia FastAPI en el puerto 8000.

docker run --rm -p 8000:8000 \
-e MODE=api \
-v $(pwd)/models:/app/models \
dagmalia/godml:1.2.1

MODE=cli

Ejecuta comandos de la CLI de godml directamente.

# Ver versión
docker run --rm dagmalia/godml:1.2.1 \
-e MODE=cli version

# Ejecutar un pipeline
docker run --rm \
-e MODE=cli \
-v $(pwd):/app \
dagmalia/godml:1.2.1 run -f godml.yml

MODE=idle

Mantiene el contenedor activo sin ejecutar nada. Útil para exploración e inspección:

docker run --rm -it \
-e MODE=idle \
dagmalia/godml:1.2.1 bash

Variables de entorno

VariableDescripciónDefault
MODEModo de operación (api, cli, idle)api
PORTPuerto del servidor API8000
GODML_ENVEntorno del pipeline (dev, qa, prod)dev

Extender la imagen

Puedes usar dagmalia/godml como base para tu propia imagen con el modelo incluido:

Dockerfile
FROM dagmalia/godml:1.2.1

# Copia el modelo entrenado
COPY output/model.pkl /app/models/prod/model.pkl

# Copia la configuración del pipeline
COPY godml.yml /app/godml.yml

ENV GODML_ENV=prod \
MODE=api \
PORT=8000
docker build -t mi-modelo:v1 .
docker run --rm -p 8000:8000 mi-modelo:v1
tip

Para producción usa siempre un tag específico (1.2.1) en vez de latest para garantizar reproducibilidad.


Seguridad y supply chain

La imagen está construida con controles de supply chain nivel SLSA:

ControlDetalle
Firma CosignFirmada con OIDC keyless via GitHub Actions
Provenance SLSA v1Attestation embebida en el manifiesto
SBOMLista completa de paquetes en formato SPDX JSON
Base auditadaUbuntu 24.04 LTS + apt-get upgrade en cada build
Pip-auditEscaneo de vulnerabilidades en cada release
Usuario no-rootCorre como godmluser (UID 65532)

Verificar la firma

# Instalar cosign (https://docs.sigstore.dev/cosign/installation)
cosign verify dagmalia/godml:1.2.1 \
--certificate-identity-regexp="https://github.com/DAGMALIA/godml-image" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"

Inspeccionar el SBOM

docker buildx imagetools inspect dagmalia/godml:1.2.1 --format '{{ json .SBOM }}'

Diferencia con el Dockerfile de godml deploy

El Dockerfile generado por godml deploy (o el que construyes manualmente en Deploy — Servir modelos) usa python:3.11-slim como base e instala godml desde PyPI. La imagen dagmalia/godml es la imagen oficial precompilada, con Python construido desde fuente y firmada con Cosign — ideal cuando necesitas garantías de supply chain.