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à.
ECREsempi di utilizzo di Amazon AWS CLI
I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando il AWS Command Line Interface con AmazonECR.
Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni di servizio, puoi vedere le azioni nel loro contesto negli scenari correlati.
Ogni esempio include un collegamento al codice sorgente completo, in cui è possibile 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-availability
esempio seguente verifica la disponibilità di un layer con il digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
nelcluster-autoscaler
repository.aws ecr batch-check-layer-availability \ --repository-name
cluster-autoscaler
\ --layer-digestssha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
Output:
{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }
-
Per API i dettagli, vedere BatchCheckLayerAvailability
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarebatch-delete-image
.
- AWS CLI
-
Esempio 1: eliminare un'immagine
L'
batch-delete-image
esempio seguente elimina un'immagine con il tagprecise
nel repository specificato nel registro predefinito di un account.aws ecr batch-delete-image \ --repository-name
ubuntu
\ --image-idsimageTag=precise
Output:
{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }
Esempio 2: Per eliminare più immagini
L'
batch-delete-image
esempio seguente elimina tutte le immagini contrassegnate conprod
eteam1
presenti nel repository specificato.aws ecr batch-delete-image \ --repository-name
MyRepository
\ --image-idsimageTag=prod
imageTag=team1
Output:
{ "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 API i dettagli, consulta BatchDeleteImage AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzarebatch-get-image
.
- AWS CLI
-
Esempio 1: Per ottenere un'immagine
L'
batch-get-image
esempio seguente ottiene un'immagine con il tagv1.13.6
in un repository chiamatocluster-autoscaler
nel registro predefinito di un account.aws ecr batch-get-image \ --repository-name
cluster-autoscaler
\ --image-idsimageTag=v1.13.6
Output:
{ "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-image
esempio seguente mostra i dettagli di tutte le immagini etichettate conprod
eteam1
presenti nel repository specificato.aws ecr batch-get-image \ --repository-name
MyRepository
\ --image-idsimageTag=prod
imageTag=team1
Output:
{ "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 API i dettagli, 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-upload
esempio seguente completa il caricamento di un livello di immagine nellayer-test
repository.aws ecr complete-layer-upload \ --repository-name
layer-test
\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9
\ --layer-digests6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e
Output:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }
-
Per API i dettagli, vedere CompleteLayerUpload
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarecreate-repository
.
- AWS CLI
-
Esempio 1: creare un repository
L'
create-repository
esempio seguente crea un repository all'interno dello spazio dei nomi specificato nel registro predefinito per un account.aws ecr create-repository \ --repository-name
project-a/sample-repo
Output:
{ "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-repository
esempio seguente crea un repository configurato per l'immutabilità dei tag nel registro predefinito di un account.aws ecr create-repository \ --repository-name
project-a/sample-repo
\ --image-tag-mutabilityIMMUTABLE
Output:
{ "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-repository
esempio 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-name
project-a/sample-repo
\ --image-scanning-configurationscanOnPush=true
Output:
{ "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 API i dettagli, 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-policy
esempio seguente elimina la politica del ciclo di vita per il repository.hello-world
aws ecr delete-lifecycle-policy \ --repository-name
hello-world
Output:
{ "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 API dettagli, 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-policy
esempio seguente elimina la policy di repository per il repository.cluster-autoscaler
aws ecr delete-repository-policy \ --repository-name
cluster-autoscaler
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 API i dettagli, vedere DeleteRepositoryPolicy
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredelete-repository
.
- AWS CLI
-
Per eliminare un repository
L'
delete-repository
esempio seguente command force elimina il repository specificato nel registro predefinito per un account. Il--force
flag è obbligatorio se il repository contiene immagini.aws ecr delete-repository \ --repository-name
ubuntu
\ --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 API i dettagli, consulta AWS CLI Command DeleteRepository
Reference.
-
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-findings
esempio 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-name
sample-repo
\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6
Output:
{ "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 API i dettagli, consulta DescribeImageScanFindings AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzaredescribe-images
.
- AWS CLI
-
Descrivere un'immagine in un repository
L'
describe-images
esempio seguente mostra i dettagli di un'immagine nelcluster-autoscaler
repository con il tag.v1.13.6
aws ecr describe-images \ --repository-name
cluster-autoscaler
\ --image-idsimageTag=v1.13.6
Output:
{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }
-
Per API i dettagli, vedere DescribeImages
in AWS CLI Command 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-repositories
Output:
{ "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 API i dettagli, 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-token
esempio seguente ottiene un token di autorizzazione per il registro predefinito.aws ecr get-authorization-token
Output:
{ "authorizationData": [ { "authorizationToken": "QVdTOkN...", "expiresAt": 1448875853.241, "proxyEndpoint": "https://123456789012.dkr.ecr.us-west-2.amazonaws.com" } ] }
-
Per API i dettagli, vedere GetAuthorizationToken
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareget-download-url-for-layer
.
- AWS CLI
-
Per scaricare URL un layer
L'
get-download-url-for-layer
esempio seguente mostra il download URL di un layer con il digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
nelcluster-autoscaler
repository.aws ecr get-download-url-for-layer \ --repository-name
cluster-autoscaler
\ --layer-digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
Output:
{ "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 API i dettagli, vedete GetDownloadUrlForLayer
in AWS CLI Command 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-preview
esempio 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 API i dettagli, consulta AWS CLI Command GetLifecyclePolicyPreview
Reference.
-
Il seguente esempio di codice mostra come utilizzareget-lifecycle-policy
.
- AWS CLI
-
Per recuperare una politica del ciclo di vita
L'
get-lifecycle-policy
esempio 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 API i dettagli, consulta AWS CLI Command GetLifecyclePolicy
Reference.
-
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-password
mostra una password che puoi utilizzare con un client container di tua scelta per autenticarti in qualsiasi ECR registro Amazon a cui il tuo IAM principale ha accesso.aws ecr get-login-password
Output:
<password>
Da utilizzare con DockerCLI, reindirizza l'output del
get-login-password
comando aldocker login
comando. Quando recuperi la password, assicurati di specificare la stessa regione in cui si trova il tuo ECR registro Amazon.aws ecr get-login-password \ --region
<region>
\|
docker
login
\ --usernameAWS
\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.com
Per ulteriori informazioni, consulta Registry Authentication nella Amazon ECR User Guide.
-
Per API i dettagli, 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 ECR registro Amazon predefinito.
Comando:
aws ecr get-login
Output:
docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com
Per accedere al registro di un altro account
Questo esempio stampa uno o più comandi che puoi usare per accedere ai ECR registri Amazon associati ad altri account.
Comando:
aws ecr get-login --registry-ids
012345678910
023456789012
Output:
docker login -u <username> -p <token-1> -e none <endpoint-1> docker login -u <username> -p <token-2> -e none <endpoint-2>
-
Per API i dettagli, consulta AWS CLI Command GetLogin
Reference.
-
Il seguente esempio di codice mostra come utilizzareget-repository-policy
.
- AWS CLI
-
Per recuperare la politica di repository per un repository
L'
get-repository-policy
esempio seguente visualizza i dettagli sulla politica di repository per il repository.cluster-autoscaler
aws ecr get-repository-policy \ --repository-name
cluster-autoscaler
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 API i dettagli, 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-upload
esempio seguente avvia il caricamento di un livello di immagine nellayer-test
repository.aws ecr initiate-layer-upload \ --repository-name
layer-test
Output:
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }
-
Per API i dettagli, vedere InitiateLayerUpload
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzarelist-images
.
- AWS CLI
-
Per elencare le immagini in un repository
L'
list-images
esempio seguente visualizza un elenco delle immagini presenti nelcluster-autoscaler
repository.aws ecr list-images \ --repository-name
cluster-autoscaler
Output:
{ "imageIds": [ { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.8" }, { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.7" }, { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" } ] }
-
Per API i dettagli, 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-resource
esempio seguente visualizza un elenco dei tag associati alhello-world
repository.aws ecr list-tags-for-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
Output:
{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }
-
Per API i dettagli, 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-configuration
esempio seguente aggiorna la configurazione di scansione delle immagini per il repository specificato.aws ecr put-image-scanning-configuration \ --repository-name
sample-repo
\ --image-scanning-configurationscanOnPush=true
Output:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageScanningConfiguration": { "scanOnPush": true } }
Per ulteriori informazioni, consulta Image Scanning nella Amazon ECR User Guide.
-
Per API i dettagli, 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-mutability
esempio 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-name
hello-repository
\ --image-tag-mutabilityIMMUTABLE
Output:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }
Per ulteriori informazioni, consulta Image Tag Mutability nella Amazon ECR User Guide.
-
Per API i dettagli, consulta PutImageTagMutability AWS CLI
Command Reference.
-
Il seguente esempio di codice mostra come utilizzareput-image
.
- AWS CLI
-
Per rietichettare un'immagine con il relativo manifesto
L'
put-image
esempio seguente crea un nuovo tag nelhello-world
repository con un manifesto di immagini esistente.aws ecr put-image \ --repository-name
hello-world
\ --image-tag2019.08
\ --image-manifestfile://hello-world.manifest.json
Contenuto 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 API i dettagli, vedere PutImage
in 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-policy
esempio 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 API i dettagli, consulta AWS CLI Command PutLifecyclePolicy
Reference.
-
Il seguente esempio di codice mostra come utilizzareset-repository-policy
.
- AWS CLI
-
Per impostare la politica di repository per un repository
L'
set-repository-policy
esempio seguente allega al repository una policy di repository contenuta in un file.cluster-autoscaler
aws ecr set-repository-policy \ --repository-name
cluster-autoscaler
\ --policy-textfile://my-policy.json
Contenuto 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 API i dettagli, 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-scan
esempio seguente avvia una scansione di immagini per e viene specificata dall'image digest nel repository specificato.aws ecr start-image-scan \ --repository-name
sample-repo
\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6
Output:
{ "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 API i dettagli, 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-preview
esempio seguente crea un'anteprima della politica del ciclo di vita definita da un JSON file 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 API i dettagli, vedere StartLifecyclePolicyPreview
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzaretag-resource
.
- AWS CLI
-
Per etichettare un repository
L'
tag-resource
esempio seguente imposta un tag con chiaveStage
e valoreInteg
sulhello-world
repository.aws ecr tag-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
\ --tagsKey=Stage,Value=Integ
Questo comando non produce alcun output.
-
Per API i dettagli, vedere TagResource
in AWS CLI Command Reference.
-
Il seguente esempio di codice mostra come utilizzareuntag-resource
.
- AWS CLI
-
Per rimuovere i tag da un repository
L'
untag-resource
esempio seguente rimuove il tag con la chiaveStage
dal repository.hello-world
aws ecr untag-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
\ --tag-keysStage
Questo comando non produce alcun output.
-
Per API i dettagli, 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-part
caricata una parte del livello di immagine nellayer-test
repository.aws ecr upload-layer-part \ --repository-name
layer-test
\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9
\ --part-first-byte0
\ --part-last-byte8323314
\ --layer-part-blobfile:///var/lib/docker/image/overlay2/layerdb/sha256/ff986b10a018b48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e/layer.b64
Output:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }
-
Per API i dettagli, vedere UploadLayerPart
in AWS CLI Command Reference.
-