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.
ECRExemples Amazon 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'AmazonECR.
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 montrent comment appeler des fonctions de service individuelles, vous pouvez les visualiser dans leur 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-availability
exemple suivant vérifie la disponibilité d'une couche avec le condensésha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
dans lecluster-autoscaler
référentiel.aws ecr batch-check-layer-availability \ --repository-name
cluster-autoscaler
\ --layer-digestssha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
Sortie :
{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }
-
Pour API plus de détails, voir 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-image
exemple suivant supprime une image avec le tagprecise
dans le référentiel spécifié dans le registre par défaut d'un compte.aws ecr batch-delete-image \ --repository-name
ubuntu
\ --image-idsimageTag=precise
Sortie :
{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }
Exemple 2 : pour supprimer plusieurs images
L'
batch-delete-image
exemple suivant supprime toutes les images étiquetées avecprod
etteam1
dans le référentiel spécifié.aws ecr batch-delete-image \ --repository-name
MyRepository
\ --image-idsimageTag=prod
imageTag=team1
Sortie :
{ "imageIds": [ { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, { "imageDigest": "sha256:567890121234", "imageTag": "team1" } ], "failures": [] }
Pour plus d'informations, consultez Supprimer une image dans le guide de ECR l'utilisateur Amazon.
-
Pour API plus de détails, voir 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-image
exemple suivant permet d'obtenir une image avec la balisev1.13.6
dans un référentiel appelécluster-autoscaler
dans le registre par défaut d'un compte.aws ecr batch-get-image \ --repository-name
cluster-autoscaler
\ --image-idsimageTag=v1.13.6
Sortie :
{ "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-image
exemple suivant affiche les détails de toutes les images étiquetées avecprod
etteam1
dans le référentiel spécifié.aws ecr batch-get-image \ --repository-name
MyRepository
\ --image-idsimageTag=prod
imageTag=team1
Sortie :
{ "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 ECR l'utilisateur Amazon.
-
Pour API plus de détails, voir 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-upload
exemple suivant termine le téléchargement d'une couche d'image vers lelayer-test
référentiel.aws ecr complete-layer-upload \ --repository-name
layer-test
\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9
\ --layer-digests6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e
Sortie :
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }
-
Pour API plus de détails, voir 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-repository
exemple 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-name
project-a/sample-repo
Sortie :
{ "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 ECR l'utilisateur Amazon.
Exemple 2 : pour créer un référentiel configuré avec l'immuabilité des balises d'image
L'
create-repository
exemple 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-name
project-a/sample-repo
\ --image-tag-mutabilityIMMUTABLE
Sortie :
{ "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 ECR l'utilisateur Amazon.
Exemple 3 : pour créer un référentiel configuré avec une configuration de numérisation
L'
create-repository
exemple 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-name
project-a/sample-repo
\ --image-scanning-configurationscanOnPush=true
Sortie :
{ "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 ECR l'utilisateur Amazon.
-
Pour API plus de détails, voir 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-policy
exemple suivant supprime la politique de cycle de vie duhello-world
référentiel.aws ecr delete-lifecycle-policy \ --repository-name
hello-world
Sortie :
{ "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 API plus de détails, voir 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-policy
exemple suivant supprime la politique de référentiel pour lecluster-autoscaler
référentiel.aws ecr delete-repository-policy \ --repository-name
cluster-autoscaler
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 API plus de détails, voir 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-repository
exemple de force de commande suivant supprime le référentiel spécifié dans le registre par défaut d'un compte. L'--force
indicateur est obligatoire si le référentiel contient des images.aws ecr delete-repository \ --repository-name
ubuntu
\ --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 ECR l'utilisateur Amazon.
-
Pour API plus de détails, voir 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-findings
exemple 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-name
sample-repo
\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6
Sortie :
{ "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 ECR l'utilisateur Amazon.
-
Pour API plus de détails, voir 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-images
exemple suivant affiche les détails d'une image dans lecluster-autoscaler
référentiel avec la balise.v1.13.6
aws ecr describe-images \ --repository-name
cluster-autoscaler
\ --image-idsimageTag=v1.13.6
Sortie :
{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }
-
Pour API plus de détails, voir 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-repositories
Sortie :
{ "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 API plus de détails, voir 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-token
exemple de commande suivant permet d'obtenir un jeton d'autorisation pour votre registre par défaut.aws ecr get-authorization-token
Sortie :
{ "authorizationData": [ { "authorizationToken": "QVdTOkN...", "expiresAt": 1448875853.241, "proxyEndpoint": "https://123456789012.dkr.ecr.us-west-2.amazonaws.com" } ] }
-
Pour API plus de détails, voir 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 télécharger URL une couche
L'
get-download-url-for-layer
exemple suivant montre le téléchargement URL d'une couche contenant le condensésha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
dans lecluster-autoscaler
référentiel.aws ecr get-download-url-for-layer \ --repository-name
cluster-autoscaler
\ --layer-digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
Sortie :
{ "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 API plus de détails, voir 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 les détails d'un aperçu de la politique de cycle de vie
L'
get-lifecycle-policy-preview
exemple 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 ECR l'utilisateur Amazon.
-
Pour API plus de détails, voir 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-policy
exemple 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 ECR l'utilisateur Amazon.
-
Pour API plus de détails, voir 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-password
affiche un mot de passe que vous pouvez utiliser avec le client conteneur de votre choix pour vous authentifier auprès de n'importe quel ECR registre Amazon auquel votre IAM principal a accès.aws ecr get-login-password
Sortie :
<password>
Pour l'utiliser avec le DockerCLI, redirigez la sortie de la
get-login-password
commande vers ladocker login
commande. 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 ECR registre Amazon.aws ecr get-login-password \ --region
<region>
\|
docker
login
\ --usernameAWS
\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.com
Pour plus d'informations, consultez la section Authentification du registre dans le guide de ECR l'utilisateur Amazon.
-
Pour API plus de détails, voir 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 affiche une commande que vous pouvez utiliser pour vous connecter à votre ECR registre Amazon par défaut.
Commande :
aws ecr get-login
Sortie :
docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com
Pour vous connecter au registre d'un autre compte
Cet exemple affiche une ou plusieurs commandes que vous pouvez utiliser pour vous connecter aux ECR registres Amazon associés à d'autres comptes.
Commande :
aws ecr get-login --registry-ids
012345678910
023456789012
Sortie :
docker login -u <username> -p <token-1> -e none <endpoint-1> docker login -u <username> -p <token-2> -e none <endpoint-2>
-
Pour API plus de détails, voir 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-policy
exemple suivant affiche les détails de la politique de référentiel pour lecluster-autoscaler
référentiel.aws ecr get-repository-policy \ --repository-name
cluster-autoscaler
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 API plus de détails, voir 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-upload
exemple suivant lance le téléchargement d'une couche d'image vers lelayer-test
référentiel.aws ecr initiate-layer-upload \ --repository-name
layer-test
Sortie :
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }
-
Pour API plus de détails, voir 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-images
exemple suivant affiche la liste des images ducluster-autoscaler
référentiel.aws ecr list-images \ --repository-name
cluster-autoscaler
Sortie :
{ "imageIds": [ { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.8" }, { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.7" }, { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" } ] }
-
Pour API plus de détails, voir 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-resource
exemple suivant affiche la liste des balises associées auhello-world
référentiel.aws ecr list-tags-for-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
Sortie :
{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }
-
Pour API plus de détails, voir 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-configuration
exemple suivant met à jour la configuration de numérisation d'images pour le référentiel spécifié.aws ecr put-image-scanning-configuration \ --repository-name
sample-repo
\ --image-scanning-configurationscanOnPush=true
Sortie :
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageScanningConfiguration": { "scanOnPush": true } }
Pour plus d'informations, consultez la section Numérisation d'images dans le guide de ECR l'utilisateur Amazon.
-
Pour API plus de détails, voir 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-mutability
exemple 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-name
hello-repository
\ --image-tag-mutabilityIMMUTABLE
Sortie :
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }
Pour plus d'informations, consultez la section Mutabilité des balises d'image dans le guide de ECR l'utilisateur Amazon.
-
Pour API plus de détails, voir 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-image
exemple suivant crée une nouvelle balise dans lehello-world
référentiel avec un manifeste d'image existant.aws ecr put-image \ --repository-name
hello-world
\ --image-tag2019.08
\ --image-manifestfile://hello-world.manifest.json
Contenu 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 API plus de détails, voir 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-policy
exemple 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 ECR l'utilisateur Amazon.
-
Pour API plus de détails, voir 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-policy
exemple suivant joint au référentiel une politique decluster-autoscaler
référentiel contenue dans un fichier.aws ecr set-repository-policy \ --repository-name
cluster-autoscaler
\ --policy-textfile://my-policy.json
Contenu 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 API plus de détails, voir 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-scan
exemple 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-name
sample-repo
\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6
Sortie :
{ "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 ECR l'utilisateur Amazon.
-
Pour API plus de détails, voir 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-preview
exemple suivant crée un aperçu de la politique de cycle de vie défini par un JSON fichier 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 API plus de détails, voir 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-resource
exemple suivant définit une balise avec cléStage
et valeurInteg
sur lehello-world
référentiel.aws ecr tag-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
\ --tagsKey=Stage,Value=Integ
Cette commande ne produit aucun résultat.
-
Pour API plus de détails, voir 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-resource
exemple suivant supprime la balise contenant la cléStage
duhello-world
référentiel.aws ecr untag-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
\ --tag-keysStage
Cette commande ne produit aucun résultat.
-
Pour API plus de détails, voir 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-part
télécharge une partie de la couche d'image dans lelayer-test
référentiel.aws ecr upload-layer-part \ --repository-name
layer-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.b64
Sortie :
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }
-
Pour API plus de détails, voir UploadLayerPart
la section Référence des AWS CLI commandes.
-