AI models en Docker Compose

Intermedio
Docker
Docker
Actualizado: 13/08/2025

¡Desbloquea el curso de Docker completo!

IA
Ejercicios
Certificado
Entrar

Mira la lección en vídeo

Accede al vídeo completo de esta lección y a más contenido exclusivo con el Plan Plus.

Desbloquear Plan Plus

Compose models

Los Compose models representan una característica moderna en Docker Compose que permite la integración nativa de modelos de IA generativa directamente en el archivo de configuración. Esta funcionalidad simplifica enormemente el despliegue y gestión de aplicaciones que requieren capacidades de inteligencia artificial.

Esta nueva característica introduce una sección específica en compose.yaml que permite definir y configurar modelos de IA como un recurso de primera clase, similar a como se definen services, volumes o networks. Los modelos se declaran de forma declarativa y pueden ser consumidos por los servicios de la aplicación.

Estructura básica de models

La sección models se define en el nivel superior del archivo compose.yaml, junto con services, volumes y networks:

services:
  web:
    image: nginx:1.29
    ports:
      - "8080:80"

models:
  llama-model:
    image: ollama/llama3.2:latest
    runtime: ollama

Los parámetros principales de configuración incluyen:

  • image: especifica la imagen del modelo de IA que se utilizará
  • runtime: define el motor de ejecución para el modelo (ollama, pytorch, tensorflow)
  • ports: puertos de exposición para la API del modelo
  • environment: variables de configuración específicas del modelo

Runtimes soportados

Docker Compose models soporta varios runtimes de IA populares:

Runtime Ollama para modelos de lenguaje:

models:
  chat-model:
    image: ollama/codellama:7b
    runtime: ollama
    ports:
      - "11434:11434"
    environment:
      - OLLAMA_HOST=0.0.0.0

Runtime PyTorch para modelos personalizados:

models:
  custom-model:
    image: pytorch/pytorch:2.1.0-cuda11.8-cudnn8-runtime
    runtime: pytorch
    volumes:
      - ./models:/workspace/models

Consumo de modelos desde services

Los servicios pueden consumir los modelos definidos mediante referencias directas. El motor de Compose establece automáticamente la conectividad de red y las dependencias necesarias:

services:
  api:
    image: python:3.13
    depends_on:
      - llama-model
    environment:
      - MODEL_URL=http://llama-model:11434/api/generate
    volumes:
      - ./app:/app
    command: python /app/main.py

models:
  llama-model:
    image: ollama/llama3.2:latest
    runtime: ollama
    ports:
      - "11434:11434"

Configuración de recursos

Los modelos de IA suelen requerir recursos computacionales específicos, especialmente memoria y GPU. Compose models permite configurar estos requisitos:

models:
  large-model:
    image: ollama/llama3.2:70b
    runtime: ollama
    deploy:
      resources:
        reservations:
          memory: 16G
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

Gestión del ciclo de vida

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Los modelos definidos en compose.yaml siguen el mismo ciclo de vida que los services tradicionales:

# Iniciar todos los servicios y modelos
docker compose up -d

# Ver el estado de modelos y servicios
docker compose ps

# Detener solo los modelos
docker compose stop llama-model

# Logs específicos del modelo
docker compose logs llama-model

Ejemplo práctico completo

Un caso de uso típico combina una aplicación web con un modelo de chat:

services:
  frontend:
    image: node:24
    ports:
      - "3000:3000"
    volumes:
      - ./frontend:/app
    working_dir: /app
    command: npm start
    depends_on:
      - backend

  backend:
    image: python:3.13
    ports:
      - "8000:8000"
    volumes:
      - ./backend:/app
    working_dir: /app
    environment:
      - MODEL_ENDPOINT=http://chat-model:11434
    depends_on:
      - chat-model
    command: python app.py

models:
  chat-model:
    image: ollama/llama3.2:latest
    runtime: ollama
    ports:
      - "11434:11434"
    environment:
      - OLLAMA_MODELS=/models
    volumes:
      - model_data:/models

volumes:
  model_data:

Esta funcionalidad representa un paso significativo en la democratización de la IA, permitiendo a los desarrolladores integrar modelos generativos en sus aplicaciones con la misma simplicidad que cualquier otro componente de infraestructura.

Aprendizajes de esta lección de Docker

  • Comprender la estructura y configuración básica de la sección models en Docker Compose.
  • Identificar los runtimes soportados para modelos de IA y su configuración.
  • Aprender a consumir modelos de IA desde servicios definidos en Docker Compose.
  • Configurar recursos específicos como memoria y GPU para modelos de IA.
  • Gestionar el ciclo de vida de los modelos junto con los servicios en Docker Compose.

Completa este curso de Docker y certifícate

Únete a nuestra plataforma de cursos de programación y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración