Skip to content

Commit 2281812

Browse files
committed
Add Docker Model Runner section to README.md, detailing its features, usage, and integration with existing tools for AI and language models.
1 parent c0fca99 commit 2281812

File tree

1 file changed

+87
-56
lines changed

1 file changed

+87
-56
lines changed

01-contenedores/contenedores-ii/README.md

Lines changed: 87 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ En esta sesión aprenderemos a dominar las imágenes Docker, desde su gestión b
1313
- 🖼️ Crear imágenes personalizadas mediante commits
1414
- 🔎 Inspeccionar y analizar la estructura de imágenes
1515
- 🗑️ Optimizar el espacio eliminando imágenes no utilizadas
16+
- 🤖 Conocer Docker Model Runner para IA y modelos de lenguaje
1617

1718
### 📚 Contenido
1819
1. [Crear contenedores desde imágenes](#crear-un-contenedor-a-partir-de-una-imagen-de-docker)
@@ -25,7 +26,8 @@ En esta sesión aprenderemos a dominar las imágenes Docker, desde su gestión b
2526
8. [Creación de imágenes personalizadas](#crear-tu-propia-imagen-a-partir-de-una-imagen-existente)
2627
9. [Inspección y análisis](#inspeccionando-una-imagen)
2728
10. [Limpieza y mantenimiento](#eliminar-una-imagen)
28-
11. [Introducción a Dockerfile](#introducción-a-dockerfile-construyendo-tu-primera-imagen)
29+
11. [Docker Model Runner: IA y modelos de lenguaje](#docker-model-runner-ia-y-modelos-de-lenguaje-en-contenedores)
30+
12. [Introducción a Dockerfile](#introducción-a-dockerfile-construyendo-tu-primera-imagen)
2931

3032
---
3133

@@ -133,7 +135,7 @@ Las variables de entorno permiten configurar aplicaciones sin modificar la image
133135

134136
**🔍 Variables más comunes:**
135137
- `TZ`: Zona horaria (America/New_York, Europe/London, etc.)
136-
- `PUID/PGID`: IDs de usuario/grupo para manejo de permisos
138+
- `PUID/PGID`: IDs de usuario/grupo para manejo de permisos.
137139
- `PASSWORD/USER`: Credenciales de acceso
138140
- `DB_*`: Configuración de base de datos
139141
- `APP_*`: Configuraciones específicas de la aplicación
@@ -476,6 +478,66 @@ Si quisiéramos eliminar SOLO las imágenes que no se están utilizando:
476478
docker image prune -a
477479
```
478480

481+
## 🤖 Docker Model Runner: IA y modelos de lenguaje en contenedores
482+
483+
Antes de profundizar en la creación de imágenes con Dockerfile, es importante conocer **Docker Model Runner**, una característica beta que representa el futuro de la IA en el ecosistema Docker. Esta herramienta revoluciona la forma en que trabajamos con modelos de inteligencia artificial y grandes modelos de lenguaje (LLMs).
484+
485+
### 🎯 **¿Qué es Docker Model Runner?**
486+
487+
Docker Model Runner es una herramienta integrada en Docker Desktop y Docker Engine que permite gestionar, ejecutar y desplegar modelos de IA de forma sencilla. Está diseñada específicamente para desarrolladores que quieren integrar capacidades de IA en sus aplicaciones sin complicaciones.
488+
489+
### **Características principales**
490+
491+
- **🔄 Gestión simplificada**: Descarga y sube modelos directamente desde/hacia Docker Hub
492+
- **🌐 APIs compatibles con OpenAI**: Sirve modelos con endpoints familiares para fácil integración
493+
- **📦 Empaquetado OCI**: Convierte archivos GGUF en artefactos OCI y publícalos en cualquier registro
494+
- **💻 Interfaz dual**: Interactúa desde línea de comandos o la GUI de Docker Desktop
495+
- **📊 Gestión local**: Administra modelos locales y visualiza logs de ejecución
496+
497+
### 🚀 **Cómo funciona**
498+
499+
Los modelos se descargan desde Docker Hub la primera vez que se usan y se almacenan localmente. Se cargan en memoria solo cuando se solicita y se descargan cuando no están en uso para optimizar recursos. Después de la descarga inicial, quedan en caché para acceso rápido.
500+
501+
### 🛠️ **Comandos esenciales**
502+
503+
```bash
504+
# Habilitar Docker Model Runner (desde Docker Desktop settings)
505+
# Beta features > Enable Docker Model Runner
506+
507+
# Verificar instalación
508+
docker model version
509+
510+
# Ejecutar un modelo
511+
docker model run ai/gemma3
512+
513+
# Listar modelos locales
514+
docker model ls
515+
```
516+
517+
### 🔗 **Modelos disponibles**
518+
519+
Todos los modelos están disponibles en el [namespace público de Docker Hub](https://hub.docker.com/u/ai).
520+
521+
### 💡 **Casos de uso típicos**
522+
523+
- **Desarrollo de aplicaciones GenAI**: Integra IA en tus apps sin configuración compleja
524+
- **Prototipado rápido**: Prueba diferentes modelos localmente antes del despliegue
525+
- **Pipelines CI/CD**: Incluye capacidades de IA en tus flujos de trabajo automatizados
526+
- **Experimentación ML**: Testa modelos sin depender de servicios externos
527+
528+
529+
```
530+
### 🔍 **Compatibilidad con herramientas existentes**
531+
532+
Docker Model Runner se integra perfectamente con:
533+
- **Docker Compose**: Incluye modelos en tus stacks multi-contenedor
534+
- **Testcontainers**: Para Java y Go, permite testing con modelos de IA
535+
- **Dockerfile**: Puedes referenciar modelos en tus imágenes personalizadas
536+
537+
> 💡 **¿Por qué es importante?** Docker Model Runner democratiza el acceso a la IA, permitiendo que cualquier desarrollador pueda trabajar con modelos avanzados usando las herramientas Docker que ya conoce. Es especialmente valioso para crear aplicaciones que necesiten procesamiento de lenguaje natural, generación de texto, o análisis semántico.
538+
539+
---
540+
479541
## 📋 Introducción a Dockerfile: Construyendo tu primera imagen
480542
481543
Hasta ahora hemos usado `docker commit` para crear imágenes a partir de contenedores modificados, pero esta no es la mejor práctica en el mundo real. La forma correcta y reproducible de crear imágenes es usando un `Dockerfile`.
@@ -539,60 +601,29 @@ docker run -d --name mi-web -p 8080:80 mi-nginx-personalizado:v1
539601
540602
---
541603

542-
## 🎓 Resumen: Lo que hemos aprendido hoy
543-
544-
### ✅ Conceptos clave dominados
545-
- **Gestión de imágenes locales**: Listar, filtrar y organizar imágenes en nuestro sistema
546-
- **Descarga estratégica**: Usar `docker pull` con versiones específicas y digests para mayor control
547-
- **Parámetros fundamentales**: Variables de entorno, políticas de reinicio y opciones de seguridad
548-
- **Registros múltiples**: Trabajar con Docker Hub, Google Artifact Registry, Microsoft Container Registry
549-
- **Búsqueda avanzada**: Filtrar imágenes por estrellas, oficiales, y formatear resultados
550-
- **Creación de imágenes personalizadas**: Usar `docker commit` para crear imágenes a partir de contenedores modificados
551-
- **Inspección profunda**: Analizar capas, configuración y metadata de imágenes
552-
- **Limpieza eficiente**: Mantener el sistema optimizado eliminando imágenes no utilizadas
553-
- **Introducción a Dockerfile**: Fundamentos para construir imágenes de forma reproducible
554-
555-
### 🛠️ Comandos esenciales que ya manejas
556-
```bash
557-
# Gestión básica
558-
docker images # Listar imágenes locales
559-
docker pull <imagen>:<tag> # Descargar imagen específica
560-
docker rmi <imagen> # Eliminar imagen
561-
docker image prune -a # Limpiar imágenes no utilizadas
562-
563-
# Búsqueda y filtrado
564-
docker search --filter=stars=50 nginx
565-
docker images --filter="label=maintainer=value"
566-
567-
# Creación personalizada
568-
docker commit <contenedor> <nueva-imagen>:<tag>
569-
570-
# Inspección
571-
docker inspect <imagen>
572-
dive <imagen> # Herramienta externa para análisis de capas
573-
574-
# Parámetros avanzados
575-
docker run -e TZ=Europe/Madrid -p 8080:80 --restart=unless-stopped nginx
576-
577-
# Introducción a Dockerfile
578-
docker build -t <nombre-imagen>:<tag> . # Construir imagen desde Dockerfile
579-
```
580-
581-
### 🔧 Parámetros clave aprendidos
582-
```bash
583-
# Variables de entorno
584-
-e PUID=1000 -e PGID=1000 -e TZ=Europe/Madrid
585-
586-
# Políticas de reinicio
587-
--restart=unless-stopped # Reinicia salvo parada manual
588-
--restart=always # Reinicia siempre
589-
--restart=on-failure # Solo si falla
590-
591-
# Seguridad y rendimiento
592-
--security-opt seccomp=unconfined # Para apps gráficas
593-
--shm-size="1gb" # Memoria compartida
594-
--privileged # Acceso completo (usar con cuidado)
595-
```
604+
## � ¡Felicidades!
605+
606+
En esta segunda clase has aprendido a:
607+
608+
- 🚀 Crear contenedores desde imágenes Docker de forma eficiente.
609+
- 📂 Gestionar imágenes locales: listar, filtrar y organizar tu colección de imágenes.
610+
- 📥 Descargar imágenes estratégicamente con versiones específicas y digests.
611+
- 🔧 Dominar conceptos fundamentales: variables de entorno, políticas de reinicio y opciones de seguridad.
612+
- 🌟 Explorar una galería completa de imágenes útiles de LinuxServer y otros proveedores.
613+
- 🌐 Trabajar con registros múltiples: Docker Hub, Google Artifact Registry, Microsoft Container Registry.
614+
- 🔍 Realizar búsquedas avanzadas en Docker Hub con filtros y formato personalizado.
615+
- 🛠️ Crear imágenes personalizadas usando `docker commit` y modificando contenedores existentes.
616+
- 🔎 Inspeccionar imágenes en profundidad: analizar capas, configuración y metadata.
617+
- 🗑️ Mantener el sistema optimizado eliminando imágenes no utilizadas.
618+
- 🤖 Conocer Docker Model Runner: la herramienta beta para gestionar modelos de IA y LLMs.
619+
- 🌐 Integrar modelos de IA usando APIs compatibles con OpenAI desde contenedores.
620+
- ⚡ Ejecutar aplicaciones GenAI localmente con Docker Model Runner.
621+
- 📋 Introducción a Dockerfile: fundamentos para construir imágenes de forma reproducible.
622+
- 🎯 Entender las mejores prácticas: por qué Dockerfile es superior a `docker commit`.
623+
624+
En la siguiente clase profundizaremos en Dockerfile y aprenderás a crear imágenes optimizadas para producción.
625+
626+
Happy coding {🍋}
596627

597628
---
598629

0 commit comments

Comments
 (0)