Amazon ECR : stocker et gérer vos images Docker sur AWS


Vous êtes sur AWS et vous cherchez où stocker vos images Docker ? Amazon Elastic Container Registry (ECR) est la réponse native d'AWS à ce besoin : un registre d'images de conteneurs entièrement géré, qui permet de stocker, gérer et déployer des images Docker (ou tout autre format compatible OCI)

Concrètement, ECR joue le même rôle que Docker Hub, mais avec une intégration native aux autres services AWS : IAM pour les permissions, ECS et EKS pour le déploiement, ou encore CloudTrail pour l'audit.

ECR propose deux types de repositories :

TypeUsage
PrivéAccessible uniquement par les principals IAM autorisés de votre compte (ou de comptes tiers explicitement autorisés)
PublicAccessible publiquement en lecture

Dans cette démo, nous allons nous concentrer sur un repository privé, cas d'usage le plus courant en entreprise.

Création d'un repository ECR

Via la console

Depuis la console AWS, ouvrez le service Amazon Elastic Container Registry (ECR). Dans le menu de gauche, sous la section Private registry, cliquez sur Repositories, puis sur Create repository.


Donnez un nom à votre repository, par exemple demo-app.
Laissez les autres paramètres par défaut et cliquez sur Create.

Une fois créé, le repository apparaît dans la liste avec son URI:

Création Via la CLI

La même opération peut être réalisée avec l'AWS CLI :

aws ecr create-repository \
  --repository-name demo-app \
  --region eu-west-3


Push des images

Avant de pousser une image, Docker doit s'authentifier auprès du registre ECR.

Authentification (console → récupération de la commande)

Depuis la console ECR, sélectionnez votre repository demo-app.
Cliquez sur View push commands en haut à droite.


Une fenêtre s'ouvre et affiche les commandes nécessaires pour authentifier Docker, taguer l'image et la pousser vers le registre.


La premiere commande permet d'authentifier Docker auprès d'ECR. cela génère un jeton d'authentification temporaire. Une fois l'authentification réussie, Docker est autorisé à interagir avec le registre ECR, notamment pour pusher ou puller des images Docker.


La dernière commande push l'image dans le registry
Une fois le docker push terminé, l'image apparaît dans le repository ECR. Elle est désormais disponible et peut être utilisée par des services AWS tels qu'Amazon ECS ou Amazon EKS pour déployer des conteneurs.


Conclusion

À ce stade, notre image Docker est stockée dans Amazon ECR et prête à être utilisée. Dans le prochain article, nous verrons comment déployer cette image sur Amazon Elastic Container Service (ECS) afin d'exécuter notre application dans des conteneurs, la rendre accessible via un Application Load Balancer et bénéficier des fonctionnalités de haute disponibilité et de montée en charge offertes par ECS.