Si estás trabajando con AWS y quieres almacenar imágenes de Docker de forma segura, Elastic Container Registry (ECR) es la mejor opción. En esta guía rápida te explico cómo crear un repositorio ECR y subir una imagen Docker, con ejemplos de comandos para que lo pongas en práctica ahora mismo.
Requisitos Previos
Antes de empezar, asegúrate de tener:
- ✅ Una cuenta activa en AWS.
- ✅ AWS CLI instalado y configurado (aws configure). (Aquí encontrarás una guía para configurarlo en tu entorno local)
- ✅ Docker instalado en tu máquina.
1. Crear un Repositorio en Amazon ECR
Primero, necesitas crear un repositorio donde almacenarás tus imágenes.
Ejecuta este comando:
aws ecr create-repository --repository-name nombre-del-repositorio --region tu-region
Ejemplo:
aws ecr create-repository --repository-name mi-aplicacion --region us-east-1
Esto crea un repositorio llamado mi-aplicacion en la región us-east-1.
Si la operación es exitosa, recibirás una respuesta en JSON con detalles del repositorio.
Tip: El nombre del repositorio debe ser único dentro de tu cuenta AWS para esa región.
2. Autenticarse en ECR
Antes de poder subir imágenes, debes autenticar Docker con ECR.
Usa este comando:
aws ecr get-login-password --region tu-region | docker login --username AWS --password-stdin [ID-de-cuenta].dkr.ecr.[region].amazonaws.com
Ejemplo:
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 123456789012.dkr.ecr.us-east-1.amazonaws.com
Nota: Reemplaza 123456789012 con tu ID de cuenta AWS.
3. Construir Tu Imagen Docker
Ahora, crea la imagen que quieres subir.
docker build -t nombre-local-imagen .
Ejemplo:
docker build -t mi-aplicacion .
Este comando busca un Dockerfile en el directorio actual y construye la imagen.
4. Etiquetar la Imagen para ECR
Debes etiquetar tu imagen con la URL de tu repositorio ECR.
docker tag nombre-local-imagen:tag [ID-de-cuenta].dkr.ecr.[region].amazonaws.com/nombre-del-repositorio:tag
Ejemplo:
docker tag mi-aplicacion:latest 123456789012.dkr.ecr.us-east-1.amazonaws.com/mi-aplicacion:latest
Si no defines un tag, Docker usará latest por defecto.
5. Subir la Imagen a ECR
Finalmente, sube la imagen con:
docker push [ID-de-cuenta].dkr.ecr.[region].amazonaws.com/nombre-del-repositorio:tag
Ejemplo:
docker push 123456789012.dkr.ecr.us-east-1.amazonaws.com/mi-aplicacion:latest
Docker empujará la imagen capa por capa hasta completarlo.
Resumen
Crear un repositorio en ECR y subir una imagen Docker sigue estos pasos:
- Crear el repositorio.
- Autenticar Docker con ECR.
- Construir tu imagen Docker.
- Etiquetar la imagen con la URL del repositorio.
- Subir la imagen.