Questa documentazione è valida AWS CLI solo per la versione 1. Per la documentazione relativa alla versione 2 di AWS CLI, consulta la Guida per l'utente della versione 2.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Esempi di utilizzo di Amazon ECR AWS CLI
I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando Amazon ECR. AWS Command Line Interface
Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un collegamento al codice sorgente completo, dove puoi trovare istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Azioni
Il seguente esempio di codice mostra come utilizzarebatch-check-layer-availability.
- AWS CLI
-
Per verificare la disponibilità di un livello
L'
batch-check-layer-availabilityesempio seguente verifica la disponibilità di un layer con il digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ednelcluster-autoscalerrepository.aws ecr batch-check-layer-availability \ --repository-namecluster-autoscaler\ --layer-digestssha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edOutput:
{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }-
Per i dettagli sull'API, consultate AWS CLI Command BatchCheckLayerAvailability
Reference.
-
Il seguente esempio di codice mostra come utilizzarebatch-delete-image.
- AWS CLI
-
Esempio 1: eliminare un'immagine
L'
batch-delete-imageesempio seguente elimina un'immagine con il tagprecisenel repository specificato nel registro predefinito di un account.aws ecr batch-delete-image \ --repository-nameubuntu\ --image-idsimageTag=preciseOutput:
{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }Esempio 2: Per eliminare più immagini
L'
batch-delete-imageesempio seguente elimina tutte le immagini contrassegnate conprodeteam1presenti nel repository specificato.aws ecr batch-delete-image \ --repository-nameMyRepository\ --image-idsimageTag=prodimageTag=team1Output:
{ "imageIds": [ { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, { "imageDigest": "sha256:567890121234", "imageTag": "team1" } ], "failures": [] }Per ulteriori informazioni, consulta Eliminazione di un'immagine nella Amazon ECR User Guide.
-
Per i dettagli sull'API, consulta AWS CLI Command BatchDeleteImage
Reference.
-
Il seguente esempio di codice mostra come utilizzarebatch-get-image.
- AWS CLI
-
Esempio 1: Per ottenere un'immagine
L'
batch-get-imageesempio seguente ottiene un'immagine con il tagv1.13.6in un repository chiamatocluster-autoscalernel registro predefinito di un account.aws ecr batch-get-image \ --repository-namecluster-autoscaler\ --image-idsimageTag=v1.13.6Output:
{ "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": [] }Esempio 2: per ottenere più immagini
L'
batch-get-imageesempio seguente mostra i dettagli di tutte le immagini etichettate conprodeteam1presenti nel repository specificato.aws ecr batch-get-image \ --repository-nameMyRepository\ --image-idsimageTag=prodimageTag=team1Output:
{ "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": [] }Per ulteriori informazioni, consulta le immagini nella Amazon ECR User Guide.
-
Per i dettagli sull'API, consulta BatchGetImage AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecomplete-layer-upload.
- AWS CLI
-
Per completare il caricamento di un livello di immagine
L'
complete-layer-uploadesempio seguente completa il caricamento di un livello di immagine nellayer-testrepository.aws ecr complete-layer-upload \ --repository-namelayer-test\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9\ --layer-digests6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323eOutput:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }-
Per i dettagli sull'API, consultate AWS CLI Command CompleteLayerUpload
Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-repository.
- AWS CLI
-
Esempio 1: creare un repository
L'
create-repositoryesempio seguente crea un repository all'interno dello spazio dei nomi specificato nel registro predefinito per un account.aws ecr create-repository \ --repository-nameproject-a/sample-repoOutput:
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo" } }Per ulteriori informazioni, consulta Creating a Repository nella Amazon ECR User Guide.
Esempio 2: creare un repository configurato con l'immutabilità dei tag di immagine
L'
create-repositoryesempio seguente crea un repository configurato per l'immutabilità dei tag nel registro predefinito di un account.aws ecr create-repository \ --repository-nameproject-a/sample-repo\ --image-tag-mutabilityIMMUTABLEOutput:
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageTagMutability": "IMMUTABLE" } }Per ulteriori informazioni, consulta Image Tag Mutability nella Amazon ECR User Guide.
Esempio 3: creare un repository configurato con una configurazione di scansione
L'
create-repositoryesempio seguente crea un repository configurato per eseguire una scansione di vulnerabilità su image push nel registro predefinito di un account.aws ecr create-repository \ --repository-nameproject-a/sample-repo\ --image-scanning-configurationscanOnPush=trueOutput:
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageScanningConfiguration": { "scanOnPush": true } } }Per ulteriori informazioni, consulta Image Scanning nella Amazon ECR User Guide.
-
Per i dettagli sull'API, consulta CreateRepository AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-lifecycle-policy.
- AWS CLI
-
Per eliminare la politica del ciclo di vita di un repository
L'
delete-lifecycle-policyesempio seguente elimina la politica del ciclo di vita per il repository.hello-worldaws ecr delete-lifecycle-policy \ --repository-namehello-worldOutput:
{ "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 }-
Per i dettagli sull'API, vedere DeleteLifecyclePolicy
in Command Reference.AWS CLI
-
Il seguente esempio di codice mostra come utilizzaredelete-repository-policy.
- AWS CLI
-
Per eliminare la politica di repository per un repository
L'
delete-repository-policyesempio seguente elimina la policy di repository per il repository.cluster-autoscaleraws ecr delete-repository-policy \ --repository-namecluster-autoscalerOutput:
{ "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}" }-
Per i dettagli sull'API, vedere DeleteRepositoryPolicy
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-repository.
- AWS CLI
-
Per eliminare un repository
L'
delete-repositoryesempio seguente command force elimina il repository specificato nel registro predefinito per un account. Il--forceflag è obbligatorio se il repository contiene immagini.aws ecr delete-repository \ --repository-nameubuntu\ --forceOutput:
{ "repository": { "registryId": "123456789012", "repositoryName": "ubuntu", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/ubuntu" } }Per ulteriori informazioni, consulta Eliminazione di un repository nella Amazon ECR User Guide.
-
Per i dettagli sull'API, consulta Command DeleteRepository
Reference AWS CLI .
-
Il seguente esempio di codice mostra come utilizzaredescribe-image-scan-findings.
- AWS CLI
-
Per descrivere i risultati della scansione di un'immagine
L'
describe-image-scan-findingsesempio seguente restituisce i risultati della scansione di un'immagine utilizzando l'image digest nel repository specificato nel registro predefinito di un account.aws ecr describe-image-scan-findings \ --repository-namesample-repo\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6Output:
{ "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." } }Per ulteriori informazioni, consulta Image Scanning nella Amazon ECR User Guide.
-
Per i dettagli sull'API, consulta DescribeImageScanFindings AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-images.
- AWS CLI
-
Per descrivere un'immagine in un repository
L'
describe-imagesesempio seguente mostra i dettagli di un'immagine nelcluster-autoscalerrepository con il tag.v1.13.6aws ecr describe-images \ --repository-namecluster-autoscaler\ --image-idsimageTag=v1.13.6Output:
{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }-
Per i dettagli sull'API, consulta AWS CLI Command DescribeImages
Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-repositories.
- AWS CLI
-
Per descrivere i repository in un registro
Questo esempio descrive i repository nel registro predefinito per un account.
Comando:
aws ecr describe-repositoriesOutput:
{ "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" } ] }-
Per i dettagli sull'API, vedere DescribeRepositories
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-authorization-token.
- AWS CLI
-
Per ottenere un token di autorizzazione per il registro predefinito
Il comando di
get-authorization-tokenesempio seguente ottiene un token di autorizzazione per il registro predefinito.aws ecr get-authorization-tokenOutput:
{ "authorizationData": [ { "authorizationToken": "QVdTOkN...", "expiresAt": 1448875853.241, "proxyEndpoint": "https://123456789012.dkr.ecr.us-west-2.amazonaws.com" } ] }-
Per i dettagli sull'API, vedere GetAuthorizationToken
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-download-url-for-layer.
- AWS CLI
-
Per ottenere l'URL di download di un layer
L'
get-download-url-for-layeresempio seguente visualizza l'URL di download di un layer con il digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ednelcluster-autoscalerrepository.aws ecr get-download-url-for-layer \ --repository-namecluster-autoscaler\ --layer-digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edOutput:
{ "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" }-
Per i dettagli sull'API, consultate AWS CLI Command GetDownloadUrlForLayer
Reference.
-
Il seguente esempio di codice mostra come utilizzareget-lifecycle-policy-preview.
- AWS CLI
-
Per recuperare i dettagli per un'anteprima della politica del ciclo di vita
L'
get-lifecycle-policy-previewesempio seguente recupera il risultato di un'anteprima dei criteri del ciclo di vita per l'archivio specificato nel registro predefinito di un account.Comando:
aws ecr get-lifecycle-policy-preview \ --repository-name"project-a/amazon-ecs-sample"Output:
{ "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 } }Per ulteriori informazioni, consulta Lifecycle Policies nella Amazon ECR User Guide.
-
Per i dettagli sull'API, consulta Command GetLifecyclePolicyPreview
Reference AWS CLI .
-
Il seguente esempio di codice mostra come utilizzareget-lifecycle-policy.
- AWS CLI
-
Per recuperare una politica del ciclo di vita
L'
get-lifecycle-policyesempio seguente visualizza i dettagli della politica del ciclo di vita per il repository specificato nel registro predefinito per l'account.aws ecr get-lifecycle-policy \ --repository-name"project-a/amazon-ecs-sample"Output:
{ "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 }Per ulteriori informazioni, consulta Lifecycle Policies nella Amazon ECR User Guide.
-
Per i dettagli sull'API, consulta Command GetLifecyclePolicy
Reference AWS CLI .
-
Il seguente esempio di codice mostra come utilizzareget-login-password.
- AWS CLI
-
Per recuperare una password per l'autenticazione in un registro
Quanto segue
get-login-passwordmostra una password che puoi utilizzare con un client container di tua scelta per autenticarti su qualsiasi registro Amazon ECR a cui il tuo principale IAM ha accesso.aws ecr get-login-passwordOutput:
<password>Da utilizzare con la CLI Docker, reindirizzate l'output del comando
get-login-passwordaldocker logincomando. Quando recuperi la password, assicurati di specificare la stessa regione in cui si trova il registro Amazon ECR.aws ecr get-login-password \ --region<region>\|dockerlogin\ --usernameAWS\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.comPer ulteriori informazioni, consulta Registry Authentication nella Amazon ECR User Guide.
-
Per i dettagli sull'API, consulta GetLoginPassword AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-login.
- AWS CLI
-
Per recuperare un comando di accesso Docker nel registro predefinito
Questo esempio stampa un comando che puoi usare per accedere al tuo registro Amazon ECR predefinito.
Comando:
aws ecr get-loginOutput:
docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.comPer accedere al registro di un altro account
Questo esempio stampa uno o più comandi che puoi utilizzare per accedere ai registri Amazon ECR associati ad altri account.
Comando:
aws ecr get-login --registry-ids012345678910023456789012Output:
docker login -u <username> -p <token-1> -e none <endpoint-1> docker login -u <username> -p <token-2> -e none <endpoint-2>-
Per i dettagli sull'API, consulta Command GetLogin
Reference AWS CLI .
-
Il seguente esempio di codice mostra come utilizzareget-repository-policy.
- AWS CLI
-
Per recuperare la politica di repository per un repository
L'
get-repository-policyesempio seguente visualizza i dettagli sulla politica di repository per il repository.cluster-autoscaleraws ecr get-repository-policy \ --repository-namecluster-autoscalerOutput:
{ "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}" }-
Per i dettagli sull'API, vedere GetRepositoryPolicy
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareinitiate-layer-upload.
- AWS CLI
-
Per avviare il caricamento di un livello di immagine
L'
initiate-layer-uploadesempio seguente avvia il caricamento di un livello di immagine nellayer-testrepository.aws ecr initiate-layer-upload \ --repository-namelayer-testOutput:
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }-
Per i dettagli sull'API, consultate AWS CLI Command InitiateLayerUpload
Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-images.
- AWS CLI
-
Per elencare le immagini in un repository
L'
list-imagesesempio seguente visualizza un elenco delle immagini presenti nelcluster-autoscalerrepository.aws ecr list-images \ --repository-namecluster-autoscalerOutput:
{ "imageIds": [ { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.8" }, { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.7" }, { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" } ] }-
Per i dettagli sull'API, vedere ListImages
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource.
- AWS CLI
-
Per elencare i tag per il repository
L'
list-tags-for-resourceesempio seguente visualizza un elenco dei tag associati alhello-worldrepository.aws ecr list-tags-for-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-worldOutput:
{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }-
Per i dettagli sull'API, vedere ListTagsForResource
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-image-scanning-configuration.
- AWS CLI
-
Per aggiornare la configurazione di scansione delle immagini per un repository
L'
put-image-scanning-configurationesempio seguente aggiorna la configurazione di scansione delle immagini per il repository specificato.aws ecr put-image-scanning-configuration \ --repository-namesample-repo\ --image-scanning-configurationscanOnPush=trueOutput:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageScanningConfiguration": { "scanOnPush": true } }Per ulteriori informazioni, consulta Image Scanning nella Amazon ECR User Guide.
-
Per i dettagli sull'API, consulta PutImageScanningConfiguration AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-image-tag-mutability.
- AWS CLI
-
Per aggiornare l'impostazione di mutabilità del tag di immagine per un repository
L'
put-image-tag-mutabilityesempio seguente configura il repository specificato per l'immutabilità dei tag. Ciò impedisce la sovrascrittura di tutti i tag di immagine all'interno del repository.aws ecr put-image-tag-mutability \ --repository-namehello-repository\ --image-tag-mutabilityIMMUTABLEOutput:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }Per ulteriori informazioni, consulta Image Tag Mutability nella Amazon ECR User Guide.
-
Per i dettagli sull'API, consulta AWS CLI Command PutImageTagMutability
Reference.
-
Il seguente esempio di codice mostra come utilizzareput-image.
- AWS CLI
-
Per rietichettare un'immagine con il relativo manifesto
L'
put-imageesempio seguente crea un nuovo tag nelhello-worldrepository con un manifesto di immagini esistente.aws ecr put-image \ --repository-namehello-world\ --image-tag2019.08\ --image-manifestfile://hello-world.manifest.jsonContenuto di
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" } ] }Output:
{ "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" } }-
Per i dettagli sull'API, consultate PutImage AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-lifecycle-policy.
- AWS CLI
-
Per creare una politica del ciclo di vita
L'
put-lifecycle-policyesempio seguente crea una politica del ciclo di vita per il repository specificato nel registro predefinito per un account.aws ecr put-lifecycle-policy \ --repository-name"project-a/amazon-ecs-sample"\ --lifecycle-policy-text"file://policy.json"Contenuto di
policy.json.{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }Output:
{ "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\"}}]}" }Per ulteriori informazioni, consulta Lifecycle Policies nella Amazon ECR User Guide.
-
Per i dettagli sull'API, consulta Command PutLifeCyclePolicy
Reference AWS CLI .
-
Il seguente esempio di codice mostra come utilizzareset-repository-policy.
- AWS CLI
-
Per impostare la politica di repository per un repository
L'
set-repository-policyesempio seguente allega al repository una policy di repository contenuta in un file.cluster-autoscaleraws ecr set-repository-policy \ --repository-namecluster-autoscaler\ --policy-textfile://my-policy.jsonContenuto di
my-policy.json.{ "Version" : "2008-10-17", "Statement" : [ { "Sid" : "allow public pull", "Effect" : "Allow", "Principal" : "*", "Action" : [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }Output:
{ "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}" }-
Per i dettagli sull'API, vedere SetRepositoryPolicy
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarestart-image-scan.
- AWS CLI
-
Per avviare una scansione delle vulnerabilità di un'immagine
L'
start-image-scanesempio seguente avvia una scansione di immagini per e viene specificata dall'image digest nel repository specificato.aws ecr start-image-scan \ --repository-namesample-repo\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6Output:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageId": { "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6" }, "imageScanStatus": { "status": "IN_PROGRESS" } }Per ulteriori informazioni, consulta Image Scanning nella Amazon ECR User Guide.
-
Per i dettagli sull'API, consulta StartImageScan AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarestart-lifecycle-policy-preview.
- AWS CLI
-
Per creare un'anteprima della politica del ciclo di vita
L'
start-lifecycle-policy-previewesempio seguente crea un'anteprima della politica del ciclo di vita definita da un file JSON per il repository specificato.aws ecr start-lifecycle-policy-preview \ --repository-name"project-a/amazon-ecs-sample"\ --lifecycle-policy-text"file://policy.json"Contenuto di
policy.json.{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }Output:
{ "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" }-
Per i dettagli sull'API, consulta StartLifecyclePolicyPreview
Command Reference.AWS CLI
-
Il seguente esempio di codice mostra come utilizzaretag-resource.
- AWS CLI
-
Per etichettare un repository
L'
tag-resourceesempio seguente imposta un tag con chiaveStagee valoreIntegsulhello-worldrepository.aws ecr tag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tagsKey=Stage,Value=IntegQuesto comando non produce alcun output.
-
Per i dettagli sull'API, consulta TagResource AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareuntag-resource.
- AWS CLI
-
Per rimuovere i tag da un repository
L'
untag-resourceesempio seguente rimuove il tag con la chiaveStagedal repository.hello-worldaws ecr untag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tag-keysStageQuesto comando non produce alcun output.
-
Per i dettagli sull'API, vedere UntagResource
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupload-layer-part.
- AWS CLI
-
Per caricare una parte di livello
Di seguito viene
upload-layer-partcaricata una parte del livello di immagine nellayer-testrepository.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.b64Output:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }-
Per i dettagli sull'API, consultate AWS CLI Command UploadLayerPart
Reference.
-