Inicio de sesión en Docker
Antes de interactuar con AWS, asegúrate de tener Docker ejecutandose e inicia sesión en tu cuenta (Docker Hub)
docker login -u <tu_usuario>
Instalación y configuración de AWS CLI
Para gestionar recursos de AWS desde tu terminal, necesitas la interfaz de línea de comandos oficial.
Ve a https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html e instala el AWS CLI.
Ejecuta el siguiente comando para confirmar que se instaló correctamente:
aws --version
Configuración de permisos (IAM)
Para subir imágenes a ECR, necesitas un usuario con los permisos adecuados. Ve a la consola de AWS, sección IAM > Users y crea un usuario con las siguientes políticas:
AmazonECS_FullAccessAmazonEC2ContainerRegistryPowerUser

Luego, genera una Access Key (Credenciales de seguridad) para el acceso.

Guardamos el Access key y el Secret access key en un lugar seguro ya que lo necesitamos para el proximo paso.
Vincular AWS con tu terminal
Ejecuta el comando de configuración y pega tus credenciales cuando se te solicite:
aws configure
- AWS Access Key ID: [Tu ID]
- AWS Secret Access Key: [Tu Secret]
- Default region name: (ej. us-east-1)
- Default output format: (Puedes dejarlo vacío presionando Enter)
Amazon Elastic Container Registry (ECR)
Amazon ECR es un registro de contenedores de Docker totalmente gestionado por AWS que facilita el almacenamiento, la gestión y el despliegue de imágenes de contenedores. Es el equivalente a Docker Hub, pero privado y dentro del ecosistema de AWS.
Crear un repositorio
Puedes crearlo desde la consola web buscando el servicio ECR > Repositories > Create repository.

Subir la imagen a Amazon ECR
Autenticar Docker con AWS
Debes autorizar a Docker para que pueda comunicarse con tu repositorio privado de AWS. El siguiente comando genera una contraseña temporal y la pasa automáticamente a Docker:
aws ecr get-login-password --region <region_name> | docker login --username AWS --password-stdin <aws_account_id>.dkr.ecr.<region_name>.amazonaws.com/<repository_name>
La URI de tu repositorio la puedes encontrar en la consola de ECR. Se ve similar a: 168353917959.dkr.ecr.us-east-1.amazonaws.com/repo
Construir la imagen
Usa el Dockerfile de tu proyecto para generar la imagen. Es fundamental que el nombre de la imagen (tag) coincida con la URI de tu repositorio en AWS.
docker build -t <uri_del_repositorio>:<tag> .
Subir la imagen
Finalmente, envía la imagen hacia la nube de AWS:
docker push <uri_del_repositorio>:<tag>
Ejemplo:
docker build -t 168523927153.dkr.ecr.us-east-1.amazonaws.com/repo:latest .
docker push 168523927153.dkr.ecr.us-east-1.amazonaws.com/repo:latest
Verificación final
Una vez finalizado el proceso de carga, podrás ver la lista de imágenes disponibles dentro de tu repositorio en la consola de AWS.