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 azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Azioni
Il seguente esempio di codice mostra come usarebatch-check-layer-availability.
- AWS CLI
-
Come verificare la disponibilità di un livello
L’esempio
batch-check-layer-availabilityseguente verifica la disponibilità di un livello con il digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ednel repositorycluster-autoscaler.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, consulta BatchCheckLayerAvailability AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarebatch-delete-image.
- AWS CLI
-
Esempio 1: come eliminare un’immagine
L’esempio
batch-delete-imageseguente elimina un’immagine con tagprecisenel repository specificato nel registro predefinito per un account.aws ecr batch-delete-image \ --repository-nameubuntu\ --image-idsimageTag=preciseOutput:
{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }Esempio 2: come eliminare più immagini
L’esempio
batch-delete-imageseguente elimina tutte le immagini con tagprodeteam1nel 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 Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, consulta BatchDeleteImage AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarebatch-get-image.
- AWS CLI
-
Esempio 1: come ottenere un’immagine
L’esempio
batch-get-imageseguente ottiene un’immagine con tagv1.13.6nel repository denominatocluster-autoscalernel registro predefinito per 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: come ottenere più immagini
L’esempio
batch-get-imageseguente mostra i dettagli di tutte le immagini con tagprodeteam1nel 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 Immagini nella Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, consulta BatchGetImage AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecomplete-layer-upload.
- AWS CLI
-
Come completare il caricamento di un livello immagine
L’esempio
complete-layer-uploadseguente completa il caricamento di un livello immagine nel repositorylayer-test.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, consulta CompleteLayerUpload AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-repository.
- AWS CLI
-
Esempio 1: come creare un repository
L’esempio
create-repositoryseguente crea un repository all’interno del namespace 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 Creazione di un repository nella Guida per l’utente di Amazon ECR.
Esempio 2: come creare un repository configurato con l’immutabilità dei tag delle immagini
L’esempio
create-repositoryseguente crea un repository configurato per l’immutabilità dei tag nel registro predefinito per 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 Mutabilità del tag immagine nella Guida per l’utente di Amazon ECR.
Esempio 3: come creare un repository configurato con una configurazione di scansione
L’esempio
create-repositoryseguente crea un repository configurato per l’esecuzione di una scansione delle vulnerabilità all’esecuzione del push delle immagini nel registro predefinito per 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 Scansione delle immagini nella Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, consulta CreateRepository AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-lifecycle-policy.
- AWS CLI
-
Come eliminare la policy del ciclo di vita per un repository
L’esempio
delete-lifecycle-policyseguente elimina la policy del ciclo di vita per il repositoryhello-world.aws 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, consulta DeleteLifecyclePolicy AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-repository-policy.
- AWS CLI
-
Come eliminare la policy del repository specificato
L’esempio
delete-repository-policyseguente elimina la policy di repository per il repositorycluster-autoscaler.aws 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, consulta DeleteRepositoryPolicy AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-repository.
- AWS CLI
-
Come eliminare un repository
L’esempio
delete-repositoryseguente forza l’eliminazione del repository specificato nel registro predefinito per un account. Il flag--forceè 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 Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, consulta DeleteRepository AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-image-scan-findings.
- AWS CLI
-
Come descrivere gli esiti della scansione di un’immagine
L’esempio
describe-image-scan-findingsseguente restituisce gli esiti della scansione di un’immagine usando il digest dell’immagine nel repository specificato nel registro predefinito per 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 Scansione delle immagini nella Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, consulta DescribeImageScanFindings AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-images.
- AWS CLI
-
Come descrivere un’immagine in un repository
L’esempio
describe-imagesseguente mostra i dettagli di un’immagine nel repositorycluster-autoscalercon il tagv1.13.6.aws 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 DescribeImages AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-repositories.
- AWS CLI
-
Come descrivere i repository in un registro
Questo esempio descrive i repository nel registro predefinito di 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, consulta DescribeRepositories AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-authorization-token.
- AWS CLI
-
Come ottenere un token di autorizzazione per il registro predefinito
L’esempio
get-authorization-tokenseguente 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, consulta GetAuthorizationToken AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-download-url-for-layer.
- AWS CLI
-
Come ottenere l’URL di download di un livello
L’esempio
get-download-url-for-layerseguente mostra l’URL di download di un livello con il digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ednel repositorycluster-autoscaler.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, consulta GetDownloadUrlForLayer AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-lifecycle-policy-preview.
- AWS CLI
-
Come recuperare i dettagli di un’anteprima della policy del ciclo di vita
L’esempio
get-lifecycle-policy-previewseguente recupera il risultato di un’anteprima della policy del ciclo di vita per il repository specificato nel registro predefinito per 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 Policy del ciclo di vita nella Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, consulta GetLifecyclePolicyPreview AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-lifecycle-policy.
- AWS CLI
-
Come recuperare una policy del ciclo di vita
L’esempio
get-lifecycle-policyseguente mostra i dettagli della policy del ciclo di vita per il repository specificato nel registro predefinito per un 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 Policy del ciclo di vita nella Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, consulta GetLifecyclePolicy AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-login-password.
- AWS CLI
-
Come recuperare una password per l’autenticazione in un registro
L’esempio
get-login-passwordseguente mostra una password da utilizzare con un client container a tua scelta per l’autenticazione in qualsiasi registro Amazon ECR a cui il tuo principale IAM ha accesso.aws ecr get-login-passwordOutput:
<password>Per utilizzare con la CLI Docker, reindirizza l’output del comando
get-login-passwordal comandodocker login. 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 Autenticazione dei registri nella Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, consulta GetLoginPassword AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-login.
- AWS CLI
-
Come recuperare un comando Docker di login nel registro predefinito
Questo esempio stampa un comando da utilizzare per accedere al 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.comCome accedere al registro di un altro account
Questo esempio stampa un comando da utilizzare per accedere al registro Amazon ECR predefinito.
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 GetLogin AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-repository-policy.
- AWS CLI
-
Come recuperare la policy del repository specificato
L’esempio
get-repository-policyseguente mostra i dettagli della policy di repository per il repositorycluster-autoscaler.aws 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, consulta GetRepositoryPolicy AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareinitiate-layer-upload.
- AWS CLI
-
Come avviare il caricamento di un livello immagine
L’esempio
initiate-layer-uploadseguente avvia il caricamento di un livello immagine nel repositorylayer-test.aws ecr initiate-layer-upload \ --repository-namelayer-testOutput:
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }-
Per i dettagli sull'API, consulta InitiateLayerUpload AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-images.
- AWS CLI
-
Come elencare le immagini in un repository
L’esempio
list-imagesseguente mostra un elenco delle immagini nel repositorycluster-autoscaler.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, consulta ListImages AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-tags-for-resource.
- AWS CLI
-
Come elencare i tag per il repository
L’esempio
list-tags-for-resourceseguente mostra un elenco dei tag associati al repositoryhello-world.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, consulta ListTagsForResource AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-image-scanning-configuration.
- AWS CLI
-
Come aggiornare la configurazione della scansione delle immagini per un repository
L’esempio
put-image-scanning-configurationseguente aggiorna la configurazione della 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 Scansione delle immagini nella Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, consulta PutImageScanningConfiguration AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-image-tag-mutability.
- AWS CLI
-
Come aggiornare l’impostazione di immutabilità dei tag immagine per un repository
L’esempio
put-image-tag-mutabilityseguente configura il repository specificato per l’immutabilità dei tag. Questo impedisce la sovrascrittura di tutti i tag 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 Mutabilità del tag immagine nella Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, consulta PutImageTagMutability AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-image.
- AWS CLI
-
Come taggare nuovamente un’immagine con il relativo manifesto
L’esempio
put-imageseguente crea un nuovo tag nel repositoryhello-worldcon 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, consulta PutImage AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-lifecycle-policy.
- AWS CLI
-
Come creare una policy del ciclo di vita
L’esempio
put-lifecycle-policyseguente crea una policy 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 Policy del ciclo di vita nella Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, consulta PutLifeCyclePolicy AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareset-repository-policy.
- AWS CLI
-
Come impostare la policy per un repository
L’esempio
set-repository-policyseguente associa una policy di repository contenuta in un file al repositorycluster-autoscaler.aws ecr set-repository-policy \ --repository-namecluster-autoscaler\ --policy-textfile://my-policy.jsonContenuto di
my-policy.json:{ "Version":"2012-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, consulta SetRepositoryPolicy AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarestart-image-scan.
- AWS CLI
-
Come avviare una scansione delle vulnerabilità di un’immagine
L’esempio
start-image-scanseguente avvia una scansione di un’immagine specificata dal 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 Scansione delle immagini nella Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, consulta StartImageScan AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarestart-lifecycle-policy-preview.
- AWS CLI
-
Come creare un’anteprima di una policy del ciclo di vita
L’esempio
start-lifecycle-policy-previewseguente crea un’anteprima della policy del ciclo di vita definita in 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 AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaretag-resource.
- AWS CLI
-
Come aggiungere un tag a un repository
L’esempio
tag-resourceseguente imposta un tag con chiaveStagee valoreIntegsul repositoryhello-world.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
-
Come rimuovere un tag da un repository
L’esempio
untag-resourceseguente rimuove il tag con la chiaveStagedal repositoryhello-world.aws 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, consulta UntagResource AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareupload-layer-part.
- AWS CLI
-
Come caricare una parte del livello
L’esempio
upload-layer-partseguente carica una parte di livello immagine nel repositorylayer-test.aws ecr upload-layer-part \ --repository-namelayer-test\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9\ --part-first-byte0\ --part-last-byte8323314\ --layer-part-blobfile:///var/lib/docker/image/overlay2/layerdb/sha256/ff986b10a018b48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e/layer.b64Output:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }-
Per i dettagli sull'API, consulta UploadLayerPart AWS CLI
Command Reference.
-