Intégrer Docker Scout avec Amazon ECR
L'intégration de Docker Scout avec Amazon Elastic Container Registry (ECR) vous permet de
voir les insights d'image pour les images hébergées dans les dépôts ECR. Après avoir intégré
Docker Scout avec ECR et activé Docker Scout pour un dépôt, pousser une
image vers le dépôt déclenche automatiquement l'analyse d'image. Vous pouvez voir les
insights d'image en utilisant le Tableau de bord Docker Scout, ou les commandes CLI docker scout
.
Comment ça fonctionne
Pour vous aider à intégrer Docker Scout avec ECR, vous pouvez utiliser un modèle de pile CloudFormation qui crée et configure les ressources AWS nécessaires pour intégrer Docker Scout avec votre registre ECR. Pour plus de détails sur les ressources AWS, voir Modèle de pile CloudFormation.
Le diagramme suivant montre comment fonctionne l'intégration Docker Scout ECR.


Après l'intégration, Docker Scout tire et analyse automatiquement les images que vous poussez vers le registre ECR. Les métadonnées sur vos images sont stockées sur la plateforme Docker Scout, mais Docker Scout ne stocke pas les images de conteneur elles-mêmes. Pour plus d'informations sur comment Docker Scout gère les données d'image, voir Gestion des données.
Modèle de pile CloudFormation
Le tableau suivant décrit les ressources de configuration.
NoteCréer ces ressources engendre un petit coût récurrent sur le compte AWS. La colonne Coût dans le tableau représente un coût mensuel estimé des ressources, lors de l'intégration d'un registre ECR qui reçoit 100 images poussées par jour.
De plus, un coût de sortie s'applique aussi quand Docker Scout tire les images depuis ECR. Le coût de sortie est d'environ 0,09 $ par GB.
Type de ressource | Nom de ressource | Description | Coût |
---|---|---|---|
AWS::SNSTopic::Topic |
SNSTopic |
Topic SNS pour notifier Docker Scout quand les ressources AWS ont été créées. | Gratuit |
AWS::SNS::TopicPolicy |
TopicPolicy |
Définit le topic pour la notification de configuration initiale. | Gratuit |
AWS::SecretsManager::Secret |
ScoutAPICredentials |
Stocke les identifiants utilisés par EventBridge pour envoyer des événements à Scout. | 0,42 $ |
AWS::Events::ApiDestination |
ApiDestination |
Configure la connexion EventBridge à Docker Scout pour envoyer les événements de poussée et suppression ECR. | 0,01 $ |
AWS::Events::Connection |
Connection |
Identifiants de connexion EventBridge à Scout. | Gratuit |
AWS::Events::Rule |
DockerScoutEcrRule |
Définit la règle pour envoyer les poussées et suppressions ECR à Scout. | Gratuit |
AWS::Events::Rule |
DockerScoutRepoDeletedRule |
Définit la règle pour envoyer les suppressions de dépôt ECR à Scout. | Gratuit |
AWS::IAM::Role |
InvokeApiRole |
Rôle interne pour accorder l'accès d'événement à ApiDestination . |
Gratuit |
AWS::IAM::Role |
AssumeRoleEcrAccess |
Ce rôle a accès à ScoutAPICredentials pour configurer l'intégration Docker Scout. |
Gratuit |
Intégrer votre premier registre
Créez la pile CloudFormation dans votre compte AWS pour activer l'intégration Docker Scout.
Prérequis :
- Vous devez avoir accès à un compte AWS avec permission de créer des ressources.
- Vous devez être propriétaire de l'organisation Docker.
Pour créer la pile :
-
Allez à la page d'intégration ECR sur le Tableau de bord Docker Scout.
-
Sélectionnez le bouton Créer sur AWS.
Ceci ouvre l'assistant Créer une pile dans la console AWS CloudFormation dans un nouvel onglet de navigateur. Si vous n'êtes pas déjà connecté à AWS, vous êtes redirigé vers la page de connexion d'abord.
Si le bouton est grisé, cela signifie qu'il vous manque les permissions nécessaires dans l'organisation Docker.
-
Suivez les étapes dans l'assistant Créer une pile jusqu'à la fin. Choisissez la région AWS que vous voulez intégrer. Complétez la procédure en créant les ressources.
Les champs dans l'assistant sont pré-remplis par le modèle CloudFormation, donc vous n'avez pas besoin de modifier les champs.
-
Quand les ressources ont été créées (le statut CloudFormation montre
CREATE_COMPLETE
dans la console AWS), retournez à la page d'intégrations ECR dans le Tableau de bord Docker Scout.La liste Registres intégrés montre l'ID de compte et la région pour le registre ECR que vous venez d'intégrer. Si réussi, le statut d'intégration est Connecté.
L'intégration ECR est maintenant active. Pour que Docker Scout commence à analyser les images dans le registre, vous devez l'activer pour chaque dépôt dans Paramètres de dépôt.
Après avoir activé les dépôts, les images que vous poussez sont analysées par Docker Scout. Les résultats d'analyse apparaissent dans le Tableau de bord Docker Scout. Si votre dépôt contient déjà des images, Docker Scout tire et analyse automatiquement la dernière version d'image.
Intégrer des registres supplémentaires
Pour ajouter des registres supplémentaires :
-
Allez à la page d'intégration ECR sur le Tableau de bord Docker Scout.
-
Sélectionnez le bouton Ajouter en haut de la liste.
-
Complétez les étapes pour créer les ressources AWS.
-
Quand les ressources ont été créées, retournez à la page d'intégrations ECR dans le Tableau de bord Docker Scout.
La liste Registres intégrés montre l'ID de compte et la région pour le registre ECR que vous venez d'intégrer. Si réussi, le statut d'intégration est Connecté.
Ensuite, activez Docker Scout pour les dépôts que vous voulez analyser dans Paramètres de dépôt.
Supprimer l'intégration
Pour supprimer un registre ECR intégré, vous devez être propriétaire de l'organisation Docker.
-
Allez à la page d'intégration ECR sur le Tableau de bord Docker Scout.
-
Trouvez le registre que vous voulez supprimer dans la liste des registres intégrés, et sélectionnez l'icône supprimer dans la colonne Actions.
Si l'icône supprimer est désactivée, cela signifie qu'il vous manque les permissions nécessaires dans l'organisation Docker.
-
Dans la boîte de dialogue qui s'ouvre, confirmez en sélectionnant Supprimer.
ImportantSupprimer l'intégration du tableau de bord Docker Scout ne supprime pas les ressources AWS dans votre compte.
Après avoir supprimé l'intégration dans Docker Scout, allez à la console AWS et supprimez la pile CloudFormation DockerScoutECRIntegration pour l'intégration que vous voulez supprimer.
Dépannage
Impossible d'intégrer le registre
Vérifiez le Statut de l'intégration sur la page d'intégration ECR dans le Tableau de bord Docker Scout.
-
Si le statut est En attente pour une période prolongée, c'est une indication que l'intégration n'a pas encore été complétée côté AWS. Sélectionnez le lien En attente pour ouvrir l'assistant CloudFormation, et complétez toutes les étapes.
-
Un statut Erreur indique que quelque chose s'est mal passé en arrière-plan. Vous pouvez essayer de supprimer l'intégration et la recréer à nouveau.
Les images ECR n'apparaissent pas dans le tableau de bord
Si les résultats d'analyse d'image pour vos images ECR n'apparaissent pas dans le Tableau de bord Docker Scout :
-
Assurez-vous d'avoir activé Docker Scout pour le dépôt. Visualisez et gérez les dépôts actifs dans Paramètres de dépôt.
-
Assurez-vous que l'ID de compte AWS et la région pour votre registre sont listés sur la page d'intégrations ECR.
L'ID de compte et la région sont inclus dans le nom d'hôte du registre :
<aws_account_id>.dkr.ecr.<region>.amazonaws.com/<image>