Sono disponibili altri esempi di AWS SDK nel repository AWS Doc SDK Examples.
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
L’esempio di codice seguente mostra come utilizzare batch-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, vedi in Command Reference. BatchCheckLayerAvailability
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare batch-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, vedi in Command Reference. BatchDeleteImage
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare batch-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, vedi BatchGetImage
in Command Reference. AWS CLI
-
L’esempio di codice seguente mostra come utilizzare complete-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, vedi CompleteLayerUpload
in Command Reference. AWS CLI
-
L’esempio di codice seguente mostra come utilizzare create-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, vedi CreateRepository
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-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, vedi in Command Reference. DeleteLifecyclePolicy
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare delete-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, vedi in Command Reference. DeleteRepositoryPolicy
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare delete-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, vedi DeleteRepository
in Command Reference. AWS CLI
-
L’esempio di codice seguente mostra come utilizzare describe-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, vedi in Command Reference. DescribeImageScanFindings
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare describe-images.
- AWS CLI
-
Come descrivere un’immagine in un repository
L'
describe-imagesesempio seguente visualizza i dettagli su 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, vedere DescribeImages
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-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, vedi DescribeRepositories
in Command Reference. AWS CLI
-
L’esempio di codice seguente mostra come utilizzare get-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, vedi in Command Reference. GetAuthorizationToken
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare get-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, vedi in Command Reference. GetDownloadUrlForLayer
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare get-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, vedi in Command Reference. GetLifecyclePolicyPreview
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare get-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, vedi in Command Reference. GetLifecyclePolicy
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare get-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.com.rproxy.goskope.comPer ulteriori informazioni, consulta Autenticazione dei registri nella Guida per l’utente di Amazon ECR.
-
Per i dettagli sull'API, vedi GetLoginPassword
in Command Reference. AWS CLI
-
L’esempio di codice seguente mostra come utilizzare get-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.com.rproxy.goskope.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, vedi GetLogin
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-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, vedi in Command Reference. GetRepositoryPolicy
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare initiate-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, vedi in Command Reference. InitiateLayerUpload
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare list-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, vedi ListImages
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-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, vedi ListTagsForResource
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare put-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, vedi in Command Reference. PutImageScanningConfiguration
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare put-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, vedi in Command Reference. PutImageTagMutability
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare put-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, vedere PutImage
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare put-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, vedi in Command Reference. PutLifeCyclePolicy
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare set-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, vedi in Command Reference. SetRepositoryPolicy
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare start-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, vedi StartImageScan
in Command Reference. AWS CLI
-
L’esempio di codice seguente mostra come utilizzare start-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, vedi in Command Reference. StartLifecyclePolicyPreview
AWS CLI
-
L’esempio di codice seguente mostra come utilizzare tag-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, vedi TagResource
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare untag-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, vedi UntagResource
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare upload-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, vedi in Command Reference. UploadLayerPart
AWS CLI
-