D'autres exemples de AWS SDK sont disponibles dans le référentiel AWS Doc SDK Examples
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 façon de configurer et d'exécuter le 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'
batch-check-layer-availabilityexemple suivant vérifie la disponibilité d'une couche avec le condensésha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834eddans lecluster-autoscalerréférentiel.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'
batch-delete-imageexemple suivant supprime une image avec le tagprecisedans 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'
batch-delete-imageexemple suivant supprime toutes les images étiquetées avecprodetteam1dans 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 Supprimer 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'
batch-get-imageexemple suivant permet d'obtenir 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'
batch-get-imageexemple suivant affiche les détails de toutes les images étiquetées avecprodetteam1dans 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 la section Images du 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'images
L'
complete-layer-uploadexemple suivant termine le téléchargement d'une couche d'image vers lelayer-testréférentiel.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'
create-repositoryexemple suivant crée un dépôt 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 la section 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'
create-repositoryexemple suivant 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 la section Mutabilité 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 de numérisation
L'
create-repositoryexemple suivant crée un référentiel configuré pour effectuer une analyse de vulnérabilité lors du transfert 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 la section 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'
delete-lifecycle-policyexemple suivant supprime la politique de cycle de vie duhello-worldréférentiel.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'
delete-repository-policyexemple suivant supprime la politique de référentiel pour lecluster-autoscalerréférentiel.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'
delete-repositoryexemple de force de commande suivant supprime le référentiel spécifié dans le registre par défaut d'un compte. L'--forceindicateur est 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 Supprimer 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 de numérisation d'une image
L'
describe-image-scan-findingsexemple suivant renvoie les résultats de numérisation d'une image à l'aide du condensé 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 la section 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'
describe-imagesexemple suivant affiche les détails d'une image dans lecluster-autoscalerréférentiel avec la balise.v1.13.6aws 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 d'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'
get-authorization-tokenexemple de commande suivant permet d'obtenir 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'
get-download-url-for-layerexemple suivant affiche l'URL de téléchargement d'une couche contenant le condensésha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834eddans lecluster-autoscalerréférentiel.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 récupérer des informations en vue d'un aperçu de la politique de cycle de vie
L'
get-lifecycle-policy-previewexemple suivant 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 les 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 récupérer une politique de cycle de vie
L'
get-lifecycle-policyexemple suivant 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 les 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
Ce qui suit
get-login-passwordaffiche un mot de passe que vous pouvez utiliser avec le client conteneur de votre choix pour vous authentifier auprès de n'importe quel registre Amazon ECR auquel votre principal IAM a accès.aws ecr get-login-passwordSortie :
<password>Pour une utilisation avec la CLI Docker, redirigez la sortie de la
get-login-passwordcommande vers ladocker logincommande. Lorsque vous récupérez 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.com.rproxy.govskope.caPour plus d'informations, consultez Authentification du 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 récupérer 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.com.rproxy.govskope.caPour vous connecter au registre d'un autre compte
Cet exemple imprime 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
-
Pour récupérer la politique de dépôt d'un référentiel
L'
get-repository-policyexemple suivant affiche les détails de la politique de référentiel pour lecluster-autoscalerréférentiel.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 téléchargement d'une couche d'image
L'
initiate-layer-uploadexemple suivant lance le téléchargement d'une couche d'image vers lelayer-testréférentiel.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 d'un référentiel
L'
list-imagesexemple suivant affiche la liste des images ducluster-autoscalerréférentiel.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'
list-tags-for-resourceexemple suivant affiche la liste des balises associées auhello-worldréférentiel.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 numérisation d'images pour un référentiel
L'
put-image-scanning-configurationexemple suivant met à jour la configuration de numérisation d'images 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 la section 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 le paramètre de mutabilité des balises d'image pour un référentiel
L'
put-image-tag-mutabilityexemple suivant configure le référentiel spécifié pour l'immuabilité des balises. Cela empêche le remplacement de toutes les balises d'image du référentiel.aws ecr put-image-tag-mutability \ --repository-namehello-repository\ --image-tag-mutabilityIMMUTABLESortie :
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }Pour plus d'informations, consultez la section Mutabilité 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 réétiqueter une image avec son manifeste
L'
put-imageexemple suivant crée une nouvelle balise dans lehello-worldréférentiel avec 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'
put-lifecycle-policyexemple suivant 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 les 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 dépôt d'un référentiel
L'
set-repository-policyexemple suivant joint au référentiel une politique decluster-autoscalerréférentiel contenue dans un fichier.aws ecr set-repository-policy \ --repository-namecluster-autoscaler\ --policy-textfile://my-policy.jsonContenu de
my-policy.json:{ "Version" : "2008-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'
start-image-scanexemple suivant lance une numérisation d'image pour et spécifiée par le condensé d'image 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 la section 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 de la politique de cycle de vie
L'
start-lifecycle-policy-previewexemple suivant crée un aperçu de la 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 étiqueter un dépôt
L'
tag-resourceexemple suivant définit une balise avec cléStageet valeurIntegsur lehello-worldréférentiel.aws ecr tag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tagsKey=Stage,Value=IntegCette commande ne produit aucun résultat.
-
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 le balisage d'un dépôt
L'
untag-resourceexemple suivant supprime la balise contenant la cléStageduhello-worldréférentiel.aws ecr untag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tag-keysStageCette commande ne produit aucun résultat.
-
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 télécharger une partie de couche
Ce qui suit
upload-layer-parttélécharge une partie de la couche d'image dans lelayer-testréférentiel.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.
-