COMO SUBIR IMÁGENES A DOCKER REGISTRY
=====================================

1. ETIQUETAR LA IMAGEN
---------------------
Para subir una imagen al registry local, primero debes etiquetarla:

docker tag <nombre-imagen>:<tag> localhost:5000/<nombre-imagen>:<tag>

Ejemplo:
docker tag mi-app:latest localhost:5000/mi-app:latest

2. SUBIR LA IMAGEN AL REGISTRY
------------------------------
Una vez etiquetada, sube la imagen:

docker push localhost:5000/<nombre-imagen>:<tag>

Ejemplo:
docker push localhost:5000/mi-app:latest

3. VERIFICAR QUE LA IMAGEN ESTÁ EN EL REGISTRY
----------------------------------------------
Puedes verificar las imágenes en el registry usando:

curl -X GET http://localhost:5000/v2/_catalog

O accediendo a la UI web en: http://localhost:8081

4. DESCARGAR LA IMAGEN DESDE EL REGISTRY
----------------------------------------
Para descargar la imagen desde el registry:

docker pull localhost:5000/<nombre-imagen>:<tag>

Ejemplo:
docker pull localhost:5000/mi-app:latest

COMO SUBIR ACTUALIZACIONES DE LA IMAGEN
======================================

1. HACER CAMBIOS A TU IMAGEN
----------------------------
Realiza los cambios necesarios en tu Dockerfile o código fuente.

2. CONSTRUIR LA NUEVA VERSIÓN
------------------------------
Construye la nueva versión de la imagen:

docker build -t <nombre-imagen>:<nuevo-tag> .

Ejemplo con versión:
docker build -t mi-app:v2.0 .

O si quieres mantener el mismo tag:
docker build -t mi-app:latest .

3. ETIQUETAR PARA EL REGISTRY
------------------------------
Etiqueta la nueva versión para el registry:

docker tag <nombre-imagen>:<tag> localhost:5000/<nombre-imagen>:<tag>

Ejemplo:
docker tag mi-app:v2.0 localhost:5000/mi-app:v2.0

4. SUBIR LA ACTUALIZACIÓN
-------------------------
Sube la nueva versión al registry:

docker push localhost:5000/<nombre-imagen>:<tag>

Ejemplo:
docker push localhost:5000/mi-app:v2.0

5. VERIFICAR LA ACTUALIZACIÓN
-----------------------------
Verifica que la nueva versión esté disponible:

curl -X GET http://localhost:5000/v2/<nombre-imagen>/tags/list

Ejemplo:
curl -X GET http://localhost:5000/v2/mi-app/tags/list

NOTAS IMPORTANTES
================

- Siempre verifica que la imagen se construyó correctamente antes de subirla
- Puedes mantener múltiples versiones usando diferentes tags (v1.0, v1.1, v2.0, etc.)
- El tag 'latest' siempre apuntará a la última versión que subas con ese tag
- Para eliminar imágenes antiguas del registry, necesitarás usar la API de eliminación
- La UI web en http://localhost:8081 te permite ver todas las imágenes y sus tags

EJEMPLO COMPLETO DE WORKFLOW
============================

# 1. Construir imagen
docker build -t mi-app:1.0 .

# 2. Etiquetar para registry
docker tag mi-app:1.0 localhost:5000/mi-app:1.0

# 3. Subir a registry
docker push localhost:5000/mi-app:1.0

# 4. Para actualizar
docker build -t mi-app:1.1 .
docker tag mi-app:1.1 localhost:5000/mi-app:1.1
docker push localhost:5000/mi-app:1.1

# 5. Verificar
curl http://localhost:5000/v2/mi-app/tags/list