# Imágenes de Docker disponibles

Al alquilar un servidor GPU en Clore.ai, puedes elegir entre imágenes Docker preconfiguradas o usar tus propias imágenes personalizadas.

## Imágenes oficiales de Clore

Imágenes preconstruidas mantenidas por Clore.ai, optimizadas para el mercado descentralizado de GPU.

### Propósito general

| Imagen Docker                             | Descripción                           | Puertos  | Actualizado |
| ----------------------------------------- | ------------------------------------- | -------- | ----------- |
| `cloreai/jupyter:ubuntu24.04-v2`          | Jupyter Lab + SSH en Ubuntu 24.04     | 22, 8888 | Ene 2025 ✅  |
| `cloreai/ml-tools:0.1`                    | Jupyter Lab + servidor web de VS Code | 22, 8888 | Jul 2023 ⚠️ |
| `cloreai/ubuntu20.04-jupyter:latest`      | Ubuntu 20.04 + SSH + Jupyter          | 22, 8888 | Nov 2022 ⚠️ |
| `cloreai/ubuntu-20.04-remote-desktop:1.2` | Ubuntu con escritorio remoto GUI      | 22, 3389 | May 2023 ⚠️ |
| `cloreai/torch:2.0.1`                     | PyTorch 2.0.1 + CUDA                  | 22       | Jul 2023 ⚠️ |

### Inferencia AI/ML

| Imagen Docker                           | Descripción                         | Puertos | Actualizado |
| --------------------------------------- | ----------------------------------- | ------- | ----------- |
| `cloreai/deepseek-r1-8b:latest`         | DeepSeek R1 8B listo para ejecutar  | 8000    | Ene 2025 ✅  |
| `cloreai/stable-diffusion-webui:latest` | AUTOMATIC1111 SD WebUI              | 7860    | Sep 2023 ⚠️ |
| `cloreai/oobabooga:1.5`                 | Interfaz web de generación de texto | 7860    | Ago 2023 ⚠️ |

### Infraestructura y Minería

| Imagen Docker               | Descripción                             | Actualizado |
| --------------------------- | --------------------------------------- | ----------- |
| `cloreai/monitoring:0.7`    | Agente de monitorización de servidores  | Sep 2024 ✅  |
| `cloreai/hiveos:0.4`        | Integración con HiveOS                  | Feb 2025 ✅  |
| `cloreai/openvpn-proxy:0.2` | Reenvío VPN/proxy                       | Feb 2025 ✅  |
| `cloreai/proxy:0.2`         | Sistema de reenvío de puertos           | Ene 2024    |
| `cloreai/automining:0.1`    | Configuración de minería automática     | Jun 2023 ⚠️ |
| `cloreai/kuzco:latest`      | Inferencia distribuida Kuzco            | Jun 2025 ✅  |
| `cloreai/partner:nastya-01` | Herramientas de integración para socios | Abr 2025 ✅  |

> ⚠️ Las imágenes marcadas con ⚠️ no se han actualizado en más de un año. Para cargas de trabajo de ML, considera usar las **imágenes de la comunidad** a continuación que ofrecen versiones más recientes de CUDA y de frameworks.

## Imágenes recomendadas de la comunidad

Imágenes probadas por la comunidad AI/ML más amplia con mantenimiento activo y versiones recientes.

### Frameworks de deep learning

| Imagen                  | Etiqueta                         | Descripción                     | Caso de uso                               | Puertos            |
| ----------------------- | -------------------------------- | ------------------------------- | ----------------------------------------- | ------------------ |
| `pytorch/pytorch`       | `2.10.0-cuda13.0-cudnn9-runtime` | Último PyTorch con CUDA 13.0    | Entrenamiento/inferencia de deep learning | 8888 (Jupyter)     |
| `nvidia/cuda`           | `13.1.1-runtime-ubuntu22.04`     | Runtime NVIDIA CUDA             | Aplicaciones CUDA personalizadas          | -                  |
| `nvidia/cuda`           | `13.1.1-devel-ubuntu22.04`       | Herramientas de desarrollo CUDA | Construcción de proyectos CUDA            | -                  |
| `tensorflow/tensorflow` | `2.15.0-gpu`                     | Soporte TensorFlow GPU          | Flujos de trabajo TensorFlow              | 8888 (TensorBoard) |

### Motores de inferencia LLM

| Imagen                                          | Etiqueta | Descripción                      | Caso de uso                  | Puertos |
| ----------------------------------------------- | -------- | -------------------------------- | ---------------------------- | ------- |
| `vllm/vllm-openai`                              | `latest` | Servicio LLM de alto rendimiento | APIs LLM de producción       | 8000    |
| `ghcr.io/huggingface/text-generation-inference` | `3.3.5`  | Hugging Face TGI                 | Servicio empresarial de LLM  | 80      |
| `ollama/ollama`                                 | `latest` | Ejecutor local de LLM            | Despliegue local/edge de LLM | 11434   |

### Generación de imágenes

| Imagen                            | Etiqueta | Descripción                     | Caso de uso                             | Puertos |
| --------------------------------- | -------- | ------------------------------- | --------------------------------------- | ------- |
| `goolashe/automatic1111-sd-webui` | `latest` | Stable Diffusion WebUI          | Generación de arte AI                   | 7860    |
| `sinfallas/comfyui`               | `latest` | ComfyUI basado en nodos para SD | Flujos de trabajo avanzados de imágenes | 8188    |

### Entornos de desarrollo

| Imagen                        | Etiqueta                       | Descripción             | Caso de uso                    | Puertos |
| ----------------------------- | ------------------------------ | ----------------------- | ------------------------------ | ------- |
| `jupyter/tensorflow-notebook` | `latest`                       | Jupyter + TensorFlow    | Experimentación ML             | 8888    |
| `jupyter/pytorch-notebook`    | `latest`                       | Jupyter + PyTorch       | Investigación en deep learning | 8888    |
| `cschranz/gpu-jupyter`        | `v1.10_cuda-12.9_ubuntu-24.04` | Jupyter con soporte GPU | Computación GPU                | 8888    |

## Seleccionar una imagen

### A través de la interfaz web

1. Ir a **Marketplace** → Encontrar un servidor → **Alquilar**
2. En el formulario de pedido, selecciona **Imagen Docker** del desplegable
3. Elige entre opciones preconfiguradas o ingresa una imagen personalizada
4. Configura los puertos expuestos (separados por comas: `8888,7860,8000`)
5. Agrega variables de entorno si es necesario
6. Enviar pedido

### A través de la API

```json
{
  "image": "pytorch/pytorch:2.10.0-cuda13.0-cudnn9-runtime",
  "ports": [8888, 8000],
  "env": {
    "JUPYTER_ENABLE_LAB": "yes"
  }
}
```

## Imágenes Docker personalizadas

### Registros compatibles

* **Docker Hub**: `usuario/imagen:etiqueta`
* **GitHub Container Registry**: `ghcr.io/usuario/imagen:etiqueta`
* **NVIDIA NGC**: `nvcr.io/nvidia/imagen:etiqueta`
* **Google Container Registry**: `gcr.io/proyecto/imagen:etiqueta`

### Ejemplos

```bash
# PyTorch latest con CUDA 12.1
pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime

# Base NVIDIA CUDA
nvidia/cuda:12.2.0-base-ubuntu22.04

# Hugging Face Transformers
huggingface/transformers-pytorch-gpu:4.35.0

# Imagen personalizada
tu-usuario/mi-modelo-ai:v1.0
```

### Requisitos para imágenes personalizadas

* ✅ Debe ser accesible públicamente
* ✅ Debe incluir soporte NVIDIA GPU para instancias GPU
* ✅ Basarse en imágenes con CUDA habilitado para aceleración por GPU
* ✅ Incluir controladores y bibliotecas necesarias
* ⚠️ Las imágenes grandes (>10GB) pueden tardar más en descargarse

## Configuración de puertos

Expón puertos para que tus aplicaciones sean accesibles desde el exterior:

| Puerto | Uso común            | Framework                     |
| ------ | -------------------- | ----------------------------- |
| 22     | Acceso SSH           | Sistema                       |
| 8888   | Jupyter Notebook/Lab | Jupyter                       |
| 7860   | Interfaces Gradio    | SD WebUI, aplicaciones Gradio |
| 8000   | Servidores API       | vLLM, FastAPI                 |
| 3000   | Aplicaciones web     | React, Node.js                |
| 8080   | Servicios HTTP       | Servicios web generales       |
| 11434  | API Ollama           | Ollama                        |
| 8188   | Interfaz ComfyUI     | ComfyUI                       |

### Establecer puertos en el formulario de pedido

```
8888,7860,8000
```

## Variables de entorno

Pasa configuración a tus contenedores:

### Ejemplos comunes

```bash
# Token de Hugging Face
HF_TOKEN=hf_tu_token_aquí

# Configuración del modelo
MODEL_NAME=meta-llama/Llama-2-7b-chat-hf
CUDA_VISIBLE_DEVICES=0

# Configuración de Jupyter
JUPYTER_ENABLE_LAB=yes
JUPYTER_TOKEN=tu_token_seguro

# Configuración de vLLM
VLLM_WORKER_MULTIPROC_METHOD=spawn
```

### Notas de seguridad

* ❌ No pongas secretos en variables de entorno
* ✅ Usa tokens temporales o claves API
* ✅ Monta secretos como volúmenes cuando sea posible

## Almacenamiento persistente

### Ubicaciones de almacenamiento

* `/workspace` - Generalmente persistente durante el período de alquiler
* `/root` - Puede restablecerse al reiniciar el contenedor
* `/tmp` - Almacenamiento temporal, no persistente

### Mejores prácticas

* Almacena datos importantes en `/workspace`
* Usa almacenamiento externo para copias de seguridad (S3, GCS, etc.)
* Descarga modelos a directorios persistentes
* Usa montajes de volúmenes para conjuntos de datos grandes

## Mejores prácticas

### Selección de imagen

1. **Usa etiquetas recientes** - Evita `latest` en producción, prefiere etiquetas versionadas
2. **Elige la base apropiada** - Haz coincidir la versión de CUDA con tu framework
3. **Considera el tamaño de la imagen** - Las imágenes más pequeñas se descargan más rápido
4. **Comprueba el mantenimiento** - Prefiere imágenes con mantenimiento activo

### Seguridad

1. **Expón el mínimo de puertos** - Solo expón los puertos que necesites
2. **Usa autenticación** - Establece tokens para Jupyter/interfaces web
3. **Actualiza regularmente** - Usa versiones recientes de imágenes
4. **Monitorea el acceso** - Verifica quién se conecta a tus servicios

### Rendimiento

1. **Compatibilidad GPU** - Verifica que la versión de CUDA coincida con tus necesidades
2. **Pre-descarga modelos** - Incluye modelos en imágenes personalizadas para un arranque más rápido
3. **Optimiza contenedores** - Usa builds multietapa, minimiza capas
4. **Gestión de caché** - Aprovecha el cache de capas de Docker

## Solución de problemas

### La imagen no arranca

```bash
# Comprueba si la imagen existe y es pública
docker pull tu-imagen:etiqueta

# Verifica la compatibilidad con CUDA
nvidia-smi
nvcc --version
```

**Problemas comunes:**

* La imagen no existe o es privada
* Versión de CUDA incompatible
* Espacio en disco insuficiente
* Arquitectura incorrecta (arm64 vs x86\_64)

### GPU no accesible

```bash
# Comprueba la disponibilidad de la GPU
nvidia-smi

# Prueba CUDA en el contenedor
python -c "import torch; print(torch.cuda.is_available())"
```

**Soluciones:**

* Usa imágenes base compatibles con GPU
* Asegura que NVIDIA Container Toolkit esté disponible
* Comprueba la compatibilidad del driver CUDA

### No se pueden acceder a los puertos expuestos

1. Espera a que el contenedor arranque completamente (revisa los logs)
2. Verifica que el servicio esté ejecutándose dentro del contenedor: `netstat -tlnp`
3. Comprueba si el servicio se enlaza a 0.0.0.0, no a 127.0.0.1
4. Confirma que el puerto esté expuesto en el formulario de pedido

### Problemas de rendimiento

* Usa almacenamiento SSD local para pesos de modelos
* Optimiza los tamaños de lote para la memoria GPU disponible
* Monitorea la utilización de la GPU: `nvidia-smi -l 1`
* Comprueba uso de CPU/memoria: `htop`

## Ejemplos de inicio rápido

### Desplegar Jupyter con PyTorch

```bash
Imagen: pytorch/pytorch:2.10.0-cuda13.0-cudnn9-runtime
Puertos: 8888
Comando: jupyter lab --ip=0.0.0.0 --allow-root --no-browser
```

### Desplegar servidor API vLLM

```bash
Imagen: vllm/vllm-openai:latest
Puertos: 8000
Env: MODEL_NAME=microsoft/DialoGPT-medium
Comando: python -m vllm.entrypoints.openai.api_server --model $MODEL_NAME --host 0.0.0.0
```

### Desplegar Stable Diffusion WebUI

```bash
Imagen: goolashe/automatic1111-sd-webui:latest
Puertos: 7860
Comando: --listen --api --xformers
```

### Desplegar Ollama

```bash
Imagen: ollama/ollama:latest
Puertos: 11434
Comando: ollama serve
# Luego: ollama run llama2 (dentro del contenedor)
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/clore.ai/clore.ai-eng-es/para-arrendatarios/docker-images.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
