# Docker Model Runner





Docker Model Runner (DMR) facilita la gestión, ejecución y despliegue de modelos de IA utilizando Docker. Diseñado para desarrolladores, Docker Model Runner simplifica el proceso de descarga (pull), ejecución y servicio de modelos de lenguaje grandes (LLM) y otros modelos de IA directamente desde Docker Hub, cualquier registro compatible con OCI o [Hugging Face](https://huggingface.co/).

Con una integración perfecta en Docker Desktop y Docker Engine, puedes servir modelos a través de API compatibles con OpenAI y Ollama, empaquetar archivos GGUF como artefactos de OCI e interactuar con modelos tanto desde la línea de comandos como desde la interfaz gráfica.

Ya sea que estés creando aplicaciones de IA generativa, experimentando con flujos de trabajo de aprendizaje automático o integrando la IA en el ciclo de vida de desarrollo de tu software, Docker Model Runner proporciona una forma consistente, segura y eficiente de trabajar con modelos de IA localmente.

## Características principales

- [Descargar y subir modelos desde y hacia Docker Hub o cualquier registro compatible con OCI](https://hub.docker.com/u/ai)
- [Descargar modelos desde Hugging Face](https://huggingface.co/)
- Servir modelos en [API compatibles con OpenAI y Ollama](/ai/model-runner/api-reference/) para una fácil integración con aplicaciones existentes
- Soporte para los [motores de inferencia llama.cpp, vLLM y Diffusers](/ai/model-runner/inference-engines/) (vLLM y Diffusers en Linux con GPU NVIDIA)
- [Generar imágenes a partir de prompts de texto](/ai/model-runner/inference-engines/#diffusers) utilizando modelos de Stable Diffusion con el backend de Diffusers
- Empaquetar archivos GGUF y Safetensors como artefactos de OCI y publicarlos en cualquier registro de contenedores
- Ejecutar e interactuar con modelos de IA directamente desde la línea de comandos o desde la interfaz gráfica de Docker Desktop
- [Conectarse a herramientas de codificación de IA](/ai/model-runner/ide-integrations/) como Cline, Continue, Cursor y Aider
- [Configurar el tamaño del contexto y los parámetros del modelo](/ai/model-runner/configuration/) para optimizar el rendimiento
- [Configurar Open WebUI](/ai/model-runner/openwebui-integration/) para obtener una interfaz web similar a ChatGPT
- Gestionar modelos locales y mostrar registros (logs)
- Mostrar detalles de prompts y respuestas
- Soporte de contexto conversacional para interacciones de múltiples turnos

## Requisitos

Docker Model Runner es compatible con las siguientes plataformas:

**Windows**



Windows(amd64):

- GPU NVIDIA
- Controladores (drivers) NVIDIA 576.57+

Windows(arm64):

- OpenCL para Adreno
- GPU Qualcomm Adreno (serie 6xx y posteriores)

  > [!NOTE]
  > Es posible que algunas funciones de llama.cpp no sean totalmente compatibles con la serie 6xx.

**MacOS**



- Apple Silicon

**Linux**



Solo Docker Engine:

- Admite backends de CPU, NVIDIA (CUDA), AMD (ROCm) y Vulkan
- Requiere el controlador NVIDIA 575.57.08+ cuando se utilizan GPU NVIDIA



## Cómo funciona Docker Model Runner

Los modelos se descargan de Docker Hub, de un registro compatible con OCI o de [Hugging Face](https://huggingface.co/) la primera vez que los utilizas y se almacenan localmente. Se cargan en memoria solo en tiempo de ejecución cuando se realiza una solicitud, y se descargan cuando no están en uso para optimizar los recursos. Dado que los modelos pueden ser grandes, la descarga inicial puede llevar algún tiempo. Después de eso, se guardan en la caché local para un acceso más rápido. Puedes interactuar con el modelo utilizando [API compatibles con OpenAI y Ollama](/ai/model-runner/api-reference/).

### Motores de inferencia

Docker Model Runner admite tres motores de inferencia:

| Motor                                       | Ideal para                                | Formato del modelo |
| ------------------------------------------- | ----------------------------------------- | ------------------ |
| [llama.cpp](/ai/model-runner/inference-engines/#llamacpp)  | Desarrollo local, eficiencia de recursos  | GGUF (cuantizado)  |
| [vLLM](/ai/model-runner/inference-engines/#vllm)           | Producción, alto rendimiento              | Safetensors        |
| [Diffusers](/ai/model-runner/inference-engines/#diffusers) | Generación de imágenes (Stable Diffusion) | Safetensors        |

llama.cpp es el motor predeterminado y funciona en todas las plataformas. vLLM requiere GPU NVIDIA y es compatible con Linux x86_64 y Windows con WSL2. Diffusers permite la generación de imágenes y requiere GPU NVIDIA en Linux (x86_64 o ARM64). Consulta [Motores de inferencia](/ai/model-runner/inference-engines/) para obtener una comparación detallada y la configuración.

### Tamaño del contexto

Los modelos tienen un tamaño de contexto configurable (longitud del contexto) que determina cuántos tokens pueden procesar. El valor predeterminado varía según el modelo, pero suele ser de 2,048 a 8,192 tokens. Puedes ajustar esto por modelo:

```console
$ docker model configure --context-size 8192 ai/qwen2.5-coder
```

Consulta [Opciones de configuración](/ai/model-runner/configuration/) para obtener detalles sobre el tamaño del contexto y otros parámetros.

> [!TIP]
>
> ¿Utilizas Testcontainers o Docker Compose?
> [Testcontainers para Java](https://java.testcontainers.org/modules/docker_model_runner/)
> y [Go](https://golang.testcontainers.org/modules/dockermodelrunner/), y
> [Docker Compose](/ai/compose/models-and-compose/) son compatibles con Docker
> Model Runner.

## Problemas conocidos

### `docker model` no se reconoce

Si ejecutas un comando de Docker Model Runner y ves:

```text
docker: 'model' is not a docker command
```

Significa que Docker no puede encontrar el plugin porque no está en el directorio de plugins de la CLI esperado.

Para solucionar esto, crea un enlace simbólico para que Docker pueda detectarlo:

```console
$ ln -s /Applications/Docker.app/Contents/Resources/cli-plugins/docker-model ~/.docker/cli-plugins/docker-model
```

Una vez enlazado, vuelve a ejecutar el comando.

## Privacidad y recopilación de datos

Docker Model Runner respeta tus ajustes de privacidad en Docker Desktop. La recopilación de datos está controlada por el ajuste **Send usage statistics**:

- **Deshabilitado**: no se recopilan datos de uso
- **Habilitado**: solo se recopilan datos mínimos y no personales:
  - [Nombres de los modelos](https://github.com/docker/model-runner/blob/eb76b5defb1a598396f99001a500a30bbbb48f01/pkg/metrics/metrics.go#L96) (a través de solicitudes HEAD a Docker Hub)
  - Información del agente de usuario (user agent)
  - Si las solicitudes se originan en el host o en contenedores

Cuando se utiliza Docker Model Runner con Docker Engine, se realizan solicitudes HEAD a Docker Hub para realizar un seguimiento de los nombres de los modelos, independientemente de cualquier configuración.

Nunca se recopila el contenido de los prompts, las respuestas ni la información de identificación personal.

## Compartir comentarios

Gracias por probar Docker Model Runner. Para informar de errores o solicitar funciones, [abre un problema en GitHub](https://github.com/docker/model-runner/issues). También puedes enviar comentarios a través del enlace **Give feedback** junto a la configuración de **Enable Docker Model Runner**.

## Pasos siguientes

- [Primeros pasos con DMR](/ai/model-runner/get-started/) - Habilita DMR y ejecuta tu primer modelo
- [Referencia de la API](/ai/model-runner/api-reference/) - Documentación de la API compatible con OpenAI y Ollama
- [Opciones de configuración](/ai/model-runner/configuration/) - Tamaño del contexto y parámetros de tiempo de ejecución
- [Motores de inferencia](/ai/model-runner/inference-engines/) - Detalles de llama.cpp, vLLM y Diffusers
- [Integraciones de IDE](/ai/model-runner/ide-integrations/) - Conecta Cline, Continue, Cursor y más
- [Integración de Open WebUI](/ai/model-runner/openwebui-integration/) - Configura una interfaz de chat web

