Cette documentation concerne AWS CLI uniquement la version 1. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemples d'Amazon ECR utilisant AWS CLI
Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l' AWS Command Line Interface aide d'Amazon ECR.
Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Alors que les actions vous indiquent comment appeler des fonctions de service individuelles, vous pouvez les voir en contexte dans leurs scénarios associés.
Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la configuration et l’exécution du code en contexte.
Rubriques
Actions
L'exemple de code suivant montre comment utiliserbatch-check-layer-availability.
- AWS CLI
-
Pour vérifier la disponibilité d’une couche
L’exemple
batch-check-layer-availabilitysuivant vérifie la disponibilité d’une couche avec le résumésha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834eddans le référentielcluster-autoscaler.aws ecr batch-check-layer-availability \ --repository-namecluster-autoscaler\ --layer-digestssha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edSortie :
{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }-
Pour plus de détails sur l'API, reportez-vous BatchCheckLayerAvailability
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserbatch-delete-image.
- AWS CLI
-
Exemple 1 : pour supprimer une image
L’exemple
batch-delete-imagesuivant supprime une image avec la baliseprecisedans le référentiel spécifié dans le registre par défaut d’un compte.aws ecr batch-delete-image \ --repository-nameubuntu\ --image-idsimageTag=preciseSortie :
{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }Exemple 2 : pour supprimer plusieurs images
L’exemple
batch-delete-imagesuivant supprime toutes les images dotées des balisesprodetteam1dans le référentiel spécifié.aws ecr batch-delete-image \ --repository-nameMyRepository\ --image-idsimageTag=prodimageTag=team1Sortie :
{ "imageIds": [ { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, { "imageDigest": "sha256:567890121234", "imageTag": "team1" } ], "failures": [] }Pour plus d’informations, consultez Suppression d’une image dans le Guide de l’utilisateur Amazon ECR.
-
Pour plus de détails sur l'API, reportez-vous BatchDeleteImage
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserbatch-get-image.
- AWS CLI
-
Exemple 1 : pour obtenir une image
L’exemple
batch-get-imagesuivant obtient une image avec la balisev1.13.6dans un référentiel appelécluster-autoscalerdans le registre par défaut d’un compte.aws ecr batch-get-image \ --repository-namecluster-autoscaler\ --image-idsimageTag=v1.13.6Sortie :
{ "images": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageId": { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" }, "imageManifest": "{\n \"schemaVersion\": 2,\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\n \"config\": {\n \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\n \"size\": 2777,\n \"digest\": \"sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed\"\n },\n \"layers\": [\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 17743696,\n \"digest\": \"sha256:39fafc05754f195f134ca11ecdb1c9a691ab0848c697fffeb5a85f900caaf6e1\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 2565026,\n \"digest\": \"sha256:8c8a779d3a537b767ae1091fe6e00c2590afd16767aa6096d1b318d75494819f\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 28005981,\n \"digest\": \"sha256:c44ba47496991c9982ee493b47fd25c252caabf2b4ae7dd679c9a27b6a3c8fb7\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 775,\n \"digest\": \"sha256:e2c388b44226544363ca007be7b896bcce1baebea04da23cbd165eac30be650f\"\n }\n ]\n}" } ], "failures": [] }Exemple 2 : pour obtenir plusieurs images
L’exemple
batch-get-imagesuivant affiche les détails de toutes les images dotées des balisesprodetteam1dans le référentiel spécifié.aws ecr batch-get-image \ --repository-nameMyRepository\ --image-idsimageTag=prodimageTag=team1Sortie :
{ "images": [ { "registryId": "123456789012", "repositoryName": "MyRepository", "imageId": { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, "imageManifest": "manifestExample1" }, { "registryId": "567890121234", "repositoryName": "MyRepository", "imageId": { "imageDigest": "sha256:123456789012", "imageTag": "team1" }, "imageManifest": "manifestExample2" } ], "failures": [] }Pour plus d’informations, consultez Images dans le Guide de l’utilisateur Amazon ECR.
-
Pour plus de détails sur l'API, reportez-vous BatchGetImage
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisercomplete-layer-upload.
- AWS CLI
-
Pour terminer le téléchargement d’une couche d’image
L’exemple
complete-layer-uploadsuivant termine le téléchargement d’une couche d’image vers le référentiellayer-test.aws ecr complete-layer-upload \ --repository-namelayer-test\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9\ --layer-digests6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323eSortie :
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }-
Pour plus de détails sur l'API, reportez-vous CompleteLayerUpload
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisercreate-repository.
- AWS CLI
-
Exemple 1 : pour créer un référentiel
L’exemple
create-repositorysuivant crée un référentiel dans l’espace de noms spécifié dans le registre par défaut d’un compte.aws ecr create-repository \ --repository-nameproject-a/sample-repoSortie :
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo" } }Pour plus d’informations, consultez Création d’un référentiel dans le Guide de l’utilisateur Amazon ECR.
Exemple 2 : pour créer un référentiel configuré avec l’immuabilité des balises d’image
L’exemple
create-repositorysuivant crée un référentiel configuré pour l’immuabilité des balises dans le registre par défaut d’un compte.aws ecr create-repository \ --repository-nameproject-a/sample-repo\ --image-tag-mutabilityIMMUTABLESortie :
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageTagMutability": "IMMUTABLE" } }Pour plus d’informations, consultez Caractère immuable des balises d’image dans le Guide de l’utilisateur Amazon ECR.
Exemple 3 : pour créer un référentiel configuré avec une configuration d’analyse
L’exemple
create-repositorysuivant crée un référentiel configuré pour effectuer une analyse de vulnérabilité d’une transmission d’image dans le registre par défaut d’un compte.aws ecr create-repository \ --repository-nameproject-a/sample-repo\ --image-scanning-configurationscanOnPush=trueSortie :
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageScanningConfiguration": { "scanOnPush": true } } }Pour plus d’informations, consultez Numérisation d’images dans le Guide de l’utilisateur Amazon ECR.
-
Pour plus de détails sur l'API, reportez-vous CreateRepository
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdelete-lifecycle-policy.
- AWS CLI
-
Pour supprimer la politique de cycle de vie d’un référentiel
L’exemple
delete-lifecycle-policysuivant supprime la politique de cycle de vie du référentielhello-world.aws ecr delete-lifecycle-policy \ --repository-namehello-worldSortie :
{ "registryId": "012345678910", "repositoryName": "hello-world", "lifecyclePolicyText": "{\"rules\":[{\"rulePriority\":1,\"description\":\"Remove untagged images.\",\"selection\":{\"tagStatus\":\"untagged\",\"countType\":\"sinceImagePushed\",\"countUnit\":\"days\",\"countNumber\":10},\"action\":{\"type\":\"expire\"}}]}", "lastEvaluatedAt": 0.0 }-
Pour plus de détails sur l'API, reportez-vous DeleteLifecyclePolicy
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdelete-repository-policy.
- AWS CLI
-
Pour supprimer la politique de référentiel d’un référentiel
L’exemple
delete-repository-policysuivant supprime la politique de référentiel du référentielcluster-autoscaler.aws ecr delete-repository-policy \ --repository-namecluster-autoscalerSortie :
{ "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"allow public pull\",\n \"Effect\" : \"Allow\",\n \"Principal\" : \"*\",\n \"Action\" : [ \"ecr:BatchCheckLayerAvailability\", \"ecr:BatchGetImage\", \"ecr:GetDownloadUrlForLayer\" ]\n } ]\n}" }-
Pour plus de détails sur l'API, reportez-vous DeleteRepositoryPolicy
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdelete-repository.
- AWS CLI
-
Pour supprimer un référentiel
L’exemple de commande
delete-repositorysuivant supprime le référentiel spécifié dans le registre par défaut d’un compte. L’indicateur--forceest obligatoire si le référentiel contient des images.aws ecr delete-repository \ --repository-nameubuntu\ --forceSortie :
{ "repository": { "registryId": "123456789012", "repositoryName": "ubuntu", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/ubuntu" } }Pour plus d’informations, consultez Suppression d’un référentiel dans le Guide de l’utilisateur Amazon ECR.
-
Pour plus de détails sur l'API, reportez-vous DeleteRepository
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdescribe-image-scan-findings.
- AWS CLI
-
Pour décrire les résultats d’analyse d’une image
L’exemple
describe-image-scan-findingssuivant renvoie les résultats d’analyse d’une image à l’aide du résumé d’image du référentiel spécifié dans le registre par défaut d’un compte.aws ecr describe-image-scan-findings \ --repository-namesample-repo\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6Sortie :
{ "imageScanFindings": { "findings": [ { "name": "CVE-2019-5188", "description": "A code execution vulnerability exists in the directory rehashing functionality of E2fsprogs e2fsck 1.45.4. A specially crafted ext4 directory can cause an out-of-bounds write on the stack, resulting in code execution. An attacker can corrupt a partition to trigger this vulnerability.", "uri": "http://people.ubuntu.com/~ubuntu-security/cve/CVE-2019-5188", "severity": "MEDIUM", "attributes": [ { "key": "package_version", "value": "1.44.1-1ubuntu1.1" }, { "key": "package_name", "value": "e2fsprogs" }, { "key": "CVSS2_VECTOR", "value": "AV:L/AC:L/Au:N/C:P/I:P/A:P" }, { "key": "CVSS2_SCORE", "value": "4.6" } ] } ], "imageScanCompletedAt": 1579839105.0, "vulnerabilitySourceUpdatedAt": 1579811117.0, "findingSeverityCounts": { "MEDIUM": 1 } }, "registryId": "123456789012", "repositoryName": "sample-repo", "imageId": { "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6" }, "imageScanStatus": { "status": "COMPLETE", "description": "The scan was completed successfully." } }Pour plus d’informations, consultez Numérisation d’images dans le Guide de l’utilisateur Amazon ECR.
-
Pour plus de détails sur l'API, reportez-vous DescribeImageScanFindings
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdescribe-images.
- AWS CLI
-
Pour décrire une image dans un référentiel
L’exemple
describe-imagessuivant affiche des informations sur une image dans le référentielcluster-autoscaleravec la balisev1.13.6.aws ecr describe-images \ --repository-namecluster-autoscaler\ --image-idsimageTag=v1.13.6Sortie :
{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }-
Pour plus de détails sur l'API, reportez-vous DescribeImages
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserdescribe-repositories.
- AWS CLI
-
Pour décrire les référentiels dans un registre
Cet exemple décrit les référentiels du registre par défaut d’un compte.
Commande :
aws ecr describe-repositoriesSortie :
{ "repositories": [ { "registryId": "012345678910", "repositoryName": "ubuntu", "repositoryArn": "arn:aws:ecr:us-west-2:012345678910:repository/ubuntu" }, { "registryId": "012345678910", "repositoryName": "test", "repositoryArn": "arn:aws:ecr:us-west-2:012345678910:repository/test" } ] }-
Pour plus de détails sur l'API, reportez-vous DescribeRepositories
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-authorization-token.
- AWS CLI
-
Pour obtenir un jeton d’autorisation pour votre registre par défaut
L’exemple de commande
get-authorization-tokensuivant obtient un jeton d’autorisation pour votre registre par défaut.aws ecr get-authorization-tokenSortie :
{ "authorizationData": [ { "authorizationToken": "QVdTOkN...", "expiresAt": 1448875853.241, "proxyEndpoint": "https://123456789012.dkr.ecr.us-west-2.amazonaws.com" } ] }-
Pour plus de détails sur l'API, reportez-vous GetAuthorizationToken
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-download-url-for-layer.
- AWS CLI
-
Pour obtenir l’URL de téléchargement d’une couche
L’exemple
get-download-url-for-layersuivant affiche l’URL de téléchargement d’une couche contenant le résumésha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834eddans le référentielcluster-autoscaler.aws ecr get-download-url-for-layer \ --repository-namecluster-autoscaler\ --layer-digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edSortie :
{ "downloadUrl": "https://prod-us-west-2-starport-layer-bucket.s3.us-west-2.amazonaws.com/e501-012345678910-9cb60dc0-7284-5643-3987-da6dac0465f0/04620aac-66a5-4167-8232-55ee7ef6d565?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190814T220617Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=AKIA32P3D2JDNMVAJLGF%2F20190814%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=9161345894947a1672467a0da7a1550f2f7157318312fe4941b59976239c3337", "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed" }-
Pour plus de détails sur l'API, reportez-vous GetDownloadUrlForLayer
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-lifecycle-policy-preview.
- AWS CLI
-
Pour extraire des informations en vue d’un aperçu de la politique de cycle de vie
L’exemple
get-lifecycle-policy-previewsuivant extrait le résultat d’un aperçu de la politique de cycle de vie pour le référentiel spécifié dans le registre par défaut d’un compte.Commande :
aws ecr get-lifecycle-policy-preview \ --repository-name"project-a/amazon-ecs-sample"Sortie :
{ "registryId": "012345678910", "repositoryName": "project-a/amazon-ecs-sample", "lifecyclePolicyText": "{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n", "status": "COMPLETE", "previewResults": [], "summary": { "expiringImageTotalCount": 0 } }Pour plus d’informations, consultez Politiques de cycle de vie dans le Guide de l’utilisateur Amazon ECR.
-
Pour plus de détails sur l'API, reportez-vous GetLifecyclePolicyPreview
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-lifecycle-policy.
- AWS CLI
-
Pour extraire une politique de cycle de vie
L’exemple
get-lifecycle-policysuivant affiche les détails de la politique de cycle de vie du référentiel spécifié dans le registre par défaut du compte.aws ecr get-lifecycle-policy \ --repository-name"project-a/amazon-ecs-sample"Sortie :
{ "registryId": "123456789012", "repositoryName": "project-a/amazon-ecs-sample", "lifecyclePolicyText": "{\"rules\":[{\"rulePriority\":1,\"description\":\"Expire images older than 14 days\",\"selection\":{\"tagStatus\":\"untagged\",\"countType\":\"sinceImagePushed\",\"countUnit\":\"days\",\"countNumber\":14},\"action\":{\"type\":\"expire\"}}]}", "lastEvaluatedAt": 1504295007.0 }Pour plus d’informations, consultez Politiques de cycle de vie dans le Guide de l’utilisateur Amazon ECR.
-
Pour plus de détails sur l'API, reportez-vous GetLifecyclePolicy
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-login-password.
- AWS CLI
-
Pour récupérer un mot de passe afin de s’authentifier auprès d’un registre
get-login-passwordci-dessous affiche un mot de passe que vous pouvez utiliser avec un client conteneur de votre choix pour vous authentifier auprès de tout registre Amazon ECR auquel votre principal IAM a accès.aws ecr get-login-passwordSortie :
<password>Pour l’utiliser avec l’interface de ligne de commande Docker, redirigez la sortie de la commande
get-login-passwordvers la commandedocker login. Lorsque vous extrayez le mot de passe, assurez-vous de spécifier la même région que celle dans laquelle se trouve votre registre Amazon ECR.aws ecr get-login-password \ --region<region>\|dockerlogin\ --usernameAWS\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.comPour plus d’informations, consultez Authentification de registre dans le Guide de l’utilisateur Amazon ECR.
-
Pour plus de détails sur l'API, reportez-vous GetLoginPassword
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-login.
- AWS CLI
-
Pour extraire une commande de connexion Docker dans votre registre par défaut
Cet exemple imprime une commande que vous pouvez utiliser pour vous connecter à votre registre Amazon ECR par défaut.
Commande :
aws ecr get-loginSortie :
docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.comPour se connecter au registre d’un autre compte
Cet exemple affiche une ou plusieurs commandes que vous pouvez utiliser pour vous connecter aux registres Amazon ECR associés à d’autres comptes.
Commande :
aws ecr get-login --registry-ids012345678910023456789012Sortie :
docker login -u <username> -p <token-1> -e none <endpoint-1> docker login -u <username> -p <token-2> -e none <endpoint-2>-
Pour plus de détails sur l'API, reportez-vous GetLogin
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserget-repository-policy.
- AWS CLI
-
Pou extraire la stratégie de référentiel pour un référentiel spécifié
L’exemple
get-repository-policysuivant affiche des informations sur la politique de référentiel du référentielcluster-autoscaler.aws ecr get-repository-policy \ --repository-namecluster-autoscalerSortie :
{ "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"allow public pull\",\n \"Effect\" : \"Allow\",\n \"Principal\" : \"*\",\n \"Action\" : [ \"ecr:BatchCheckLayerAvailability\", \"ecr:BatchGetImage\", \"ecr:GetDownloadUrlForLayer\" ]\n } ]\n}" }-
Pour plus de détails sur l'API, reportez-vous GetRepositoryPolicy
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserinitiate-layer-upload.
- AWS CLI
-
Pour lancer le chargement d’une couche d’image
L’exemple
initiate-layer-uploadsuivant lance le chargement d’une couche d’image vers le référentiellayer-test.aws ecr initiate-layer-upload \ --repository-namelayer-testSortie :
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }-
Pour plus de détails sur l'API, reportez-vous InitiateLayerUpload
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-images.
- AWS CLI
-
Pour répertorier les images dans un référentiel
L’exemple
list-imagessuivant affiche la liste des images du référentielcluster-autoscaler.aws ecr list-images \ --repository-namecluster-autoscalerSortie :
{ "imageIds": [ { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.8" }, { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.7" }, { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" } ] }-
Pour plus de détails sur l'API, reportez-vous ListImages
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserlist-tags-for-resource.
- AWS CLI
-
Pour répertorier les balises du référentiel
L’exemple
list-tags-for-resourcesuivant affiche la liste des balises associées au référentielhello-world.aws ecr list-tags-for-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-worldSortie :
{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }-
Pour plus de détails sur l'API, reportez-vous ListTagsForResource
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserput-image-scanning-configuration.
- AWS CLI
-
Pour mettre à jour la configuration de l’analyse d’image pour un référentiel
L’exemple
put-image-scanning-configurationsuivant met à jour la configuration de l’analyse d’image pour le référentiel spécifié.aws ecr put-image-scanning-configuration \ --repository-namesample-repo\ --image-scanning-configurationscanOnPush=trueSortie :
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageScanningConfiguration": { "scanOnPush": true } }Pour plus d’informations, consultez Numérisation d’images dans le Guide de l’utilisateur Amazon ECR.
-
Pour plus de détails sur l'API, reportez-vous PutImageScanningConfiguration
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserput-image-tag-mutability.
- AWS CLI
-
Pour mettre à jour les paramètres de mutabilité des balises d’image pour un référentiel
L’exemple
put-image-tag-mutabilitysuivant configure le référentiel spécifié pour l’immuabilité des balises. Il empêche toutes les balises d’image du référentiel d’être écrasées.aws ecr put-image-tag-mutability \ --repository-namehello-repository\ --image-tag-mutabilityIMMUTABLESortie :
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }Pour plus d’informations, consultez Caractère immuable des balises d’image dans le Guide de l’utilisateur Amazon ECR.
-
Pour plus de détails sur l'API, reportez-vous PutImageTagMutability
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserput-image.
- AWS CLI
-
Pour rebaliser une image avec son manifeste
L’exemple
put-imagesuivant crée une nouvelle balise dans le référentielhello-worldavec un manifeste d’image existant.aws ecr put-image \ --repository-namehello-world\ --image-tag2019.08\ --image-manifestfile://hello-world.manifest.jsonContenu de
hello-world.manifest.json:{ "schemaVersion": 2, "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "config": { "mediaType": "application/vnd.docker.container.image.v1+json", "size": 5695, "digest": "sha256:cea5fe7701b7db3dd1c372f3cea6f43cdda444fcc488f530829145e426d8b980" }, "layers": [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 39096921, "digest": "sha256:d8868e50ac4c7104d2200d42f432b661b2da8c1e417ccfae217e6a1e04bb9295" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 57938, "digest": "sha256:83251ac64627fc331584f6c498b3aba5badc01574e2c70b2499af3af16630eed" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 423, "digest": "sha256:589bba2f1b36ae56f0152c246e2541c5aa604b058febfcf2be32e9a304fec610" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 680, "digest": "sha256:d62ecaceda3964b735cdd2af613d6bb136a52c1da0838b2ff4b4dab4212bcb1c" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 162, "digest": "sha256:6d93b41cfc6bf0d2522b7cf61588de4cd045065b36c52bd3aec2ba0622b2b22b" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 28268840, "digest": "sha256:6986b4d4c07932c680b3587f2eac8b0e013568c003cc23b04044628a5c5e599f" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 35369152, "digest": "sha256:8c5ec60f10102dc8da0649d866c7c2f706e459d0bdc25c83ad2de86f4996c276" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 155, "digest": "sha256:cde50b1c594539c5f67cbede9aef95c9ae321ccfb857f7b251b45b84198adc85" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 28737, "digest": "sha256:2e102807ab72a73fc9abf53e8c50e421bdc337a0a8afcb242176edeec65977e4" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 190, "digest": "sha256:fc379bbd5ed37808772bef016553a297356c59b8f134659e6ee4ecb563c2f5a7" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 28748, "digest": "sha256:021db240dfccf5a1aff19507d17c0177e5888e518acf295b52204b1825e8b7ee" } ] }Sortie :
{ "image": { "registryId": "130757420319", "repositoryName": "hello-world", "imageId": { "imageDigest": "sha256:8ece96b74f87652876199d83bd107d0435a196133af383ac54cb82b6cc5283ae", "imageTag": "2019.08" }, "imageManifest": "{\n \"schemaVersion\": 2,\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\n \"config\": {\n \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\n \"size\": 5695,\n \"digest\": \"sha256:cea5fe7701b7db3dd1c372f3cea6f43cdda444fcc488f530829145e426d8b980\"\n },\n \"layers\": [\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 39096921,\n \"digest\": \"sha256:d8868e50ac4c7104d2200d42f432b661b2da8c1e417ccfae217e6a1e04bb9295\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 57938,\n \"digest\": \"sha256:83251ac64627fc331584f6c498b3aba5badc01574e2c70b2499af3af16630eed\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 423,\n \"digest\": \"sha256:589bba2f1b36ae56f0152c246e2541c5aa604b058febfcf2be32e9a304fec610\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 680,\n \"digest\": \"sha256:d62ecaceda3964b735cdd2af613d6bb136a52c1da0838b2ff4b4dab4212bcb1c\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 162,\n \"digest\": \"sha256:6d93b41cfc6bf0d2522b7cf61588de4cd045065b36c52bd3aec2ba0622b2b22b\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 28268840,\n \"digest\": \"sha256:6986b4d4c07932c680b3587f2eac8b0e013568c003cc23b04044628a5c5e599f\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 35369152,\n \"digest\": \"sha256:8c5ec60f10102dc8da0649d866c7c2f706e459d0bdc25c83ad2de86f4996c276\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 155,\n \"digest\": \"sha256:cde50b1c594539c5f67cbede9aef95c9ae321ccfb857f7b251b45b84198adc85\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 28737,\n \"digest\": \"sha256:2e102807ab72a73fc9abf53e8c50e421bdc337a0a8afcb242176edeec65977e4\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 190,\n \"digest\": \"sha256:fc379bbd5ed37808772bef016553a297356c59b8f134659e6ee4ecb563c2f5a7\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 28748,\n \"digest\": \"sha256:021db240dfccf5a1aff19507d17c0177e5888e518acf295b52204b1825e8b7ee\"\n }\n ]\n}\n" } }-
Pour plus de détails sur l'API, reportez-vous PutImage
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserput-lifecycle-policy.
- AWS CLI
-
Pour créer une politique de cycle de vie
L’exemple
put-lifecycle-policysuivant crée une politique de cycle de vie pour le référentiel spécifié dans le registre par défaut d’un compte.aws ecr put-lifecycle-policy \ --repository-name"project-a/amazon-ecs-sample"\ --lifecycle-policy-text"file://policy.json"Contenu de
policy.json:{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }Sortie :
{ "registryId": "<aws_account_id>", "repositoryName": "project-a/amazon-ecs-sample", "lifecyclePolicyText": "{\"rules\":[{\"rulePriority\":1,\"description\":\"Expire images older than 14 days\",\"selection\":{\"tagStatus\":\"untagged\",\"countType\":\"sinceImagePushed\",\"countUnit\":\"days\",\"countNumber\":14},\"action\":{\"type\":\"expire\"}}]}" }Pour plus d’informations, consultez Politiques de cycle de vie dans le Guide de l’utilisateur Amazon ECR.
-
Pour plus de détails sur l'API, reportez-vous PutLifeCyclePolicy
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserset-repository-policy.
- AWS CLI
-
Pour définir la politique de référentiel d’un référentiel
L’exemple
set-repository-policysuivant joint au référentielcluster-autoscalerune politique de référentiel contenue dans un fichier.aws ecr set-repository-policy \ --repository-namecluster-autoscaler\ --policy-textfile://my-policy.jsonContenu de
my-policy.json:{ "Version":"2012-10-17", "Statement" : [ { "Sid" : "allow public pull", "Effect" : "Allow", "Principal" : "*", "Action" : [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }Sortie :
{ "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"allow public pull\",\n \"Effect\" : \"Allow\",\n \"Principal\" : \"*\",\n \"Action\" : [ \"ecr:BatchCheckLayerAvailability\", \"ecr:BatchGetImage\", \"ecr:GetDownloadUrlForLayer\" ]\n } ]\n}" }-
Pour plus de détails sur l'API, reportez-vous SetRepositoryPolicy
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserstart-image-scan.
- AWS CLI
-
Pour démarrer une analyse de vulnérabilité d’une image
L’exemple
start-image-scansuivant lance une analyse d’image pour le résumé d’image et spécifiée par ce dernier dans le référentiel spécifié.aws ecr start-image-scan \ --repository-namesample-repo\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6Sortie :
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageId": { "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6" }, "imageScanStatus": { "status": "IN_PROGRESS" } }Pour plus d’informations, consultez Numérisation d’images dans le Guide de l’utilisateur Amazon ECR.
-
Pour plus de détails sur l'API, reportez-vous StartImageScan
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserstart-lifecycle-policy-preview.
- AWS CLI
-
Pour créer un aperçu d’une politique de cycle de vie
L’exemple
start-lifecycle-policy-previewsuivant crée un aperçu d’une politique de cycle de vie défini par un fichier JSON pour le référentiel spécifié.aws ecr start-lifecycle-policy-preview \ --repository-name"project-a/amazon-ecs-sample"\ --lifecycle-policy-text"file://policy.json"Contenu de
policy.json:{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }Sortie :
{ "registryId": "012345678910", "repositoryName": "project-a/amazon-ecs-sample", "lifecyclePolicyText": "{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n", "status": "IN_PROGRESS" }-
Pour plus de détails sur l'API, reportez-vous StartLifecyclePolicyPreview
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utilisertag-resource.
- AWS CLI
-
Pour baliser un référentiel
L’exemple
tag-resourcesuivant définit une balise avec une cléStageet une valeurIntegsur le référentielhello-world.aws ecr tag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tagsKey=Stage,Value=IntegCette commande ne produit aucune sortie.
-
Pour plus de détails sur l'API, reportez-vous TagResource
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliseruntag-resource.
- AWS CLI
-
Pour supprimer une balise d’un référentiel
L’exemple
untag-resourcesuivant supprime la balise dont la clé estStagedu référentielhello-world.aws ecr untag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tag-keysStageCette commande ne produit aucune sortie.
-
Pour plus de détails sur l'API, reportez-vous UntagResource
à la section Référence des AWS CLI commandes.
-
L'exemple de code suivant montre comment utiliserupload-layer-part.
- AWS CLI
-
Pour charger une partie de couche
upload-layer-partci-dessous charge une partie de la couche d’image dans le référentiellayer-test.aws ecr upload-layer-part \ --repository-namelayer-test\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9\ --part-first-byte0\ --part-last-byte8323314\ --layer-part-blobfile:///var/lib/docker/image/overlay2/layerdb/sha256/ff986b10a018b48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e/layer.b64Sortie :
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }-
Pour plus de détails sur l'API, reportez-vous UploadLayerPart
à la section Référence des AWS CLI commandes.
-