Esempi di Amazon ECR Public con l’utilizzo della AWS CLI
Gli esempi di codice seguenti mostrano come eseguire azioni e implementare scenari comuni utilizzando la AWS Command Line Interface con Amazon ECR Public.
Le operazioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le operazioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.
Ogni esempio include un link al codice sorgente completo, dove è possibile trovare le istruzioni su come configurare ed eseguire il codice nel contesto.
Argomenti
Operazioni
L’esempio di codice seguente mostra come utilizzare batch-delete-image.
- AWS CLI
-
Esempio 1: come eliminare un’immagine utilizzando gli ID digest dell’immagine stessa, verrà eliminata l’immagine assieme a tutti i relativi tag all’interno di un repository in un registro pubblico
Nell’esempio seguente,
batch-delete-imageelimina un’immagine specificandone il digest:aws ecr-public batch-delete-image \ --repository-nameproject-a/nginx-web-app\ --image-idsimageDigest=sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2Output:
{ "imageIds": [ { "imageDigest": "sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2", "imageTag": "latest" } ], "failures": [] }Per maggiori informazioni, consulta Eliminazione di un’immagine in un repository pubblico nella Guida per l’utente di Amazon ECR Public.
Esempio 2: come eliminare qualsiasi immagine specificando il tag associato all’immagine da eliminare dal repository.
L’esempio
batch-delete-imageseguente elimina un’immagine specificando il tag associato all’archivio di immagini denominatoproject-a/nginx-web-appin un registro pubblico. Se è presente un solo tag ed esegui questo comando, l’immagine verrà rimossa. In caso di più tag associati alla stessa immagine, specificane uno e dal repository sarà rimosso solo il tag e non l’immagine.aws ecr-public batch-delete-image \ --repository-nameproject-a/nginx-web-app\ --image-idsimageTag=_tempOutput:
{ "imageIds": [ { "imageDigest": "sha256:f7a86a0760e2f8d7eff07e515fc87bf4bac45c35376c06f9a280f15ecad6d7e0", "imageTag": "_temp" } ], "failures": [] }Per maggiori informazioni, consulta Eliminazione di un’immagine in un repository pubblico nella Guida per l’utente di Amazon ECR Public.
Esempio 3: per eliminare più immagini, puoi specificare più tag immagine o i digest delle immagini nella richiesta per un repository in un registro pubblico.
L’esempio
batch-delete-imageseguente elimina più immagini da un repository denominato project-a/nginx-web-app specificando più tag di immagine o digest di immagini nella richiesta.aws ecr-public batch-delete-image \ --repository-nameproject-a/nginx-web-app\ --image-idsimageTag=temp2.0imageDigest=sha256:47ba980bc055353d9c0af89b1894f68faa43ca93856917b8406316be86f01278Output:
{ "imageIds": [ { "imageDigest": "sha256:47ba980bc055353d9c0af89b1894f68faa43ca93856917b8406316be86f01278" }, { "imageDigest": "sha256:f7a86a0760e2f8d7eff07e515fc87bf4bac45c35376c06f9a280f15ecad6d7e0", "imageTag": "temp2.0" } ], "failures": [] }Per maggiori informazioni, consulta Eliminazione di un’immagine in un repository pubblico nella Guida per l’utente di Amazon ECR Public.
Esempio 4: come eliminare un’immagine tra più account AWS utilizzando l’ID del registro e gli ID digest dell’immagine. L’immagine verrà eliminata assieme a tutti i relativi tag all’interno di un repository in un registro pubblico
L’esempio
batch-delete-imageseguente elimina un’immagine su più account AWS specificandone il digest:aws ecr-public batch-delete-image \ --registry-id123456789098\ --repository-nameproject-a/nginx-web-app\ --image-idsimageDigest=sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2\ --regionus-east-1Output:
{ "imageIds": [ { "imageDigest": "sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2", "imageTag": "temp2.0" } ], "failures": [] }Per maggiori informazioni, consulta Eliminazione di un’immagine in un repository pubblico nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta BatchDeleteImage
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare create-repository.
- AWS CLI
-
Esempio 1: come creare un repository in un registro pubblico
L’esempio
create-repositoryseguente crea un repository denominato project-a/nginx-web-app in un registro pubblico.aws ecr-public create-repository \ --repository-nameproject-a/nginx-web-appOutput:
{ "repository": { "repositoryArn": "arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app", "registryId": "123456789012", "repositoryName": "project-a/nginx-web-app", "repositoryUri": "public.ecr.aws/public-registry-custom-alias/project-a/nginx-web-app", "createdAt": "2024-07-01T21:08:55.131000+00:00" }, "catalogData": {} }Per maggiori informazioni, consulta Creazione di un repository pubblico nella Guida per l’utente di Amazon ECR Public.
Esempio 2: come creare un repository in un registro pubblico con una breve descrizione del contenuto del repository, del sistema e dell’architettura operativa con cui le immagini del repository sono compatibili
Nell’esempio seguente,
create-repositorycrea un repository denominato project-a/nginx-web-app in un registro pubblico con una breve descrizione del contenuto del repository, del sistema e dell’architettura operativa con cui le immagini del repository sono compatibili.aws ecr-public create-repository \ --repository-nameproject-a/nginx-web-app\ --catalog-data 'description=My project-a ECR Public Repository,architectures=ARM,ARM 64,x86,x86-64,operatingSystems=Linux'Output:
{ "repository": { "repositoryArn": "arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app", "registryId": "123456789012", "repositoryName": "project-a/nginx-web-app", "repositoryUri": "public.ecr.aws/public-registry-custom-alias/project-a/nginx-web-app", "createdAt": "2024-07-01T21:23:20.455000+00:00" }, "catalogData": { "description": "My project-a ECR Public Repository", "architectures": [ "ARM", "ARM 64", "x86", "x86-64" ], "operatingSystems": [ "Linux" ] } }Per maggiori informazioni, consulta Creazione di un repository pubblico nella Guida per l’utente di Amazon ECR Public.
Esempio 3: come creare un repository in un registro pubblico, insieme alle informazioni relative a logoImageBlob, aboutText, usageText e tag
L’esempio
create-repositoryseguente crea un repository denominato project-a/nginx-web-app in un registro pubblico, insieme alle informazioni relative a logoImageBlob, aboutText, usageText e tag.aws ecr-public create-repository \ --cli-input-jsonfile://myfile.jsonContenuto di
myfile.json:{ "repositoryName": "project-a/nginx-web-app", "catalogData": { "description": "My project-a ECR Public Repository", "architectures": [ "ARM", "ARM 64", "x86", "x86-64" ], "operatingSystems": [ "Linux" ], "logoImageBlob": "iVBORw0KGgoA<<truncated-for-better-reading>>ErkJggg==", "aboutText": "## Quick reference\n\nMaintained by: [the Amazon Linux Team](https://github.com/aws/amazon-linux-docker-images)\n\nWhere to get help: [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker)\n\n## Supported tags and respective `dockerfile` links\n\n* [`2.0.20200722.0`, `2`, `latest`](https://github.com/amazonlinux/container-images/blob/03d54f8c4d522bf712cffd6c8f9aafba0a875e78/Dockerfile)\n* [`2.0.20200722.0-with-sources`, `2-with-sources`, `with-sources`](https://github.com/amazonlinux/container-images/blob/1e7349845e029a2e6afe6dc473ef17d052e3546f/Dockerfile)\n* [`2018.03.0.20200602.1`, `2018.03`, `1`](https://github.com/amazonlinux/container-images/blob/f10932e08c75457eeb372bf1cc47ea2a4b8e98c8/Dockerfile)\n* [`2018.03.0.20200602.1-with-sources`, `2018.03-with-sources`, `1-with-sources`](https://github.com/amazonlinux/container-images/blob/8c9ee491689d901aa72719be0ec12087a5fa8faf/Dockerfile)\n\n## What is Amazon Linux?\n\nAmazon Linux is provided by Amazon Web Services (AWS). It is designed to provide a stable, secure, and high-performance execution environment for applications running on Amazon EC2. The full distribution includes packages that enable easy integration with AWS, including launch configuration tools and many popular AWS libraries and tools. AWS provides ongoing security and maintenance updates to all instances running Amazon Linux.\n\nThe Amazon Linux container image contains a minimal set of packages. To install additional packages, [use `yum`](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-software.html).\n\nAWS provides two versions of Amazon Linux: [Amazon Linux 2](https://aws.amazon.com/amazon-linux-2/) and [Amazon Linux AMI](https://aws.amazon.com/amazon-linux-ami/).\n\nFor information on security updates for Amazon Linux, please refer to [Amazon Linux 2 Security Advisories](https://alas.aws.amazon.com/alas2.html) and [Amazon Linux AMI Security Advisories](https://alas.aws.amazon.com/). Note that Docker Hub's vulnerability scanning for Amazon Linux is currently based on RPM versions, which does not reflect the state of backported patches for vulnerabilities.\n\n## Where can I run Amazon Linux container images?\n\nYou can run Amazon Linux container images in any Docker based environment. Examples include, your laptop, in Amazon EC2 instances, and Amazon ECS clusters.\n\n## License\n\nAmazon Linux is available under the [GNU General Public License, version 2.0](https://github.com/aws/amazon-linux-docker-images/blob/master/LICENSE). Individual software packages are available under their own licenses; run `rpm -qi [package name]` or check `/usr/share/doc/[package name]-*` and `/usr/share/licenses/[package name]-*` for details.\n\nAs with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).\n\nSome additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `amazonlinux/` directory](https://github.com/docker-library/repo-info/tree/master/repos/amazonlinux).\n\n## Security\n\nFor information on security updates for Amazon Linux, please refer to [Amazon Linux 2 Security Advisories](https://alas.aws.amazon.com/alas2.html) and [Amazon Linux AMI Security Advisories](https://alas.aws.amazon.com/). Note that Docker Hub's vulnerability scanning for Amazon Linux is currently based on RPM versions, which does not reflect the state of backported patches for vulnerabilities.", "usageText": "## Supported architectures\n\namd64, arm64v8\n\n## Where can I run Amazon Linux container images?\n\nYou can run Amazon Linux container images in any Docker based environment. Examples include, your laptop, in Amazon EC2 instances, and ECS clusters.\n\n## How do I install a software package from Extras repository in Amazon Linux 2?\n\nAvailable packages can be listed with the `amazon-linux-extras` command. Packages can be installed with the `amazon-linux-extras install <package>` command. Example: `amazon-linux-extras install rust1`\n\n## Will updates be available for Amazon Linux containers?\n\nSimilar to the Amazon Linux images for Amazon EC2 and on-premises use, Amazon Linux container images will get ongoing updates from Amazon in the form of security updates, bug fix updates, and other enhancements. Security bulletins for Amazon Linux are available at https://alas.aws.amazon.com/\n\n## Will AWS Support the current version of Amazon Linux going forward?\n\nYes; in order to avoid any disruption to your existing applications and to facilitate migration to Amazon Linux 2, AWS will provide regular security updates for Amazon Linux 2018.03 AMI and container image for 2 years after the final LTS build is announced. You can also use all your existing support channels such as AWS Support and Amazon Linux Discussion Forum to continue to submit support requests." }, "tags": [ { "Key": "Name", "Value": "project-a/nginx-web-app" }, { "Key": "Environment", "Value": "Prod" } ] }Output:
{ "repository": { "repositoryArn": "arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app", "registryId": "123456789012", "repositoryName": "project-a/nginx-web-app", "repositoryUri": "public.ecr.aws/public-registry-custom-alias/project-a/nginx-web-app", "createdAt": "2024-07-01T21:53:05.749000+00:00" }, "catalogData": { "description": "My project-a ECR Public Repository", "architectures": [ "ARM", "ARM 64", "x86", "x86-64" ], "operatingSystems": [ "Linux" ], "logoUrl": "https://d3g9o9u8re44ak.cloudfront.net/logo/23861450-4b9b-403c-9a4c-7aa0ef140bb8/2f9bf5a7-a32f-45b4-b5cd-c5770a35e6d7.png", "aboutText": "## Quick reference\n\nMaintained by: [the Amazon Linux Team](https://github.com/aws/amazon-linux-docker-images)\n\nWhere to get help: [the Docker Community Forums](https://forums.docker.com/), [the Docker Community Slack](https://dockr.ly/slack), or [Stack Overflow](https://stackoverflow.com/search?tab=newest&q=docker)\n\n## Supported tags and respective `dockerfile` links\n\n* [`2.0.20200722.0`, `2`, `latest`](https://github.com/amazonlinux/container-images/blob/03d54f8c4d522bf712cffd6c8f9aafba0a875e78/Dockerfile)\n* [`2.0.20200722.0-with-sources`, `2-with-sources`, `with-sources`](https://github.com/amazonlinux/container-images/blob/1e7349845e029a2e6afe6dc473ef17d052e3546f/Dockerfile)\n* [`2018.03.0.20200602.1`, `2018.03`, `1`](https://github.com/amazonlinux/container-images/blob/f10932e08c75457eeb372bf1cc47ea2a4b8e98c8/Dockerfile)\n* [`2018.03.0.20200602.1-with-sources`, `2018.03-with-sources`, `1-with-sources`](https://github.com/amazonlinux/container-images/blob/8c9ee491689d901aa72719be0ec12087a5fa8faf/Dockerfile)\n\n## What is Amazon Linux?\n\nAmazon Linux is provided by Amazon Web Services (AWS). It is designed to provide a stable, secure, and high-performance execution environment for applications running on Amazon EC2. The full distribution includes packages that enable easy integration with AWS, including launch configuration tools and many popular AWS libraries and tools. AWS provides ongoing security and maintenance updates to all instances running Amazon Linux.\n\nThe Amazon Linux container image contains a minimal set of packages. To install additional packages, [use `yum`](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-software.html).\n\nAWS provides two versions of Amazon Linux: [Amazon Linux 2](https://aws.amazon.com/amazon-linux-2/) and [Amazon Linux AMI](https://aws.amazon.com/amazon-linux-ami/).\n\nFor information on security updates for Amazon Linux, please refer to [Amazon Linux 2 Security Advisories](https://alas.aws.amazon.com/alas2.html) and [Amazon Linux AMI Security Advisories](https://alas.aws.amazon.com/). Note that Docker Hub's vulnerability scanning for Amazon Linux is currently based on RPM versions, which does not reflect the state of backported patches for vulnerabilities.\n\n## Where can I run Amazon Linux container images?\n\nYou can run Amazon Linux container images in any Docker based environment. Examples include, your laptop, in Amazon EC2 instances, and Amazon ECS clusters.\n\n## License\n\nAmazon Linux is available under the [GNU General Public License, version 2.0](https://github.com/aws/amazon-linux-docker-images/blob/master/LICENSE). Individual software packages are available under their own licenses; run `rpm -qi [package name]` or check `/usr/share/doc/[package name]-*` and `/usr/share/licenses/[package name]-*` for details.\n\nAs with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).\n\nSome additional license information which was able to be auto-detected might be found in [the `repo-info` repository's `amazonlinux/` directory](https://github.com/docker-library/repo-info/tree/master/repos/amazonlinux).\n\n## Security\n\nFor information on security updates for Amazon Linux, please refer to [Amazon Linux 2 Security Advisories](https://alas.aws.amazon.com/alas2.html) and [Amazon Linux AMI Security Advisories](https://alas.aws.amazon.com/). Note that Docker Hub's vulnerability scanning for Amazon Linux is currently based on RPM versions, which does not reflect the state of backported patches for vulnerabilities.", "usageText": "## Supported architectures\n\namd64, arm64v8\n\n## Where can I run Amazon Linux container images?\n\nYou can run Amazon Linux container images in any Docker based environment. Examples include, your laptop, in Amazon EC2 instances, and ECS clusters.\n\n## How do I install a software package from Extras repository in Amazon Linux 2?\n\nAvailable packages can be listed with the `amazon-linux-extras` command. Packages can be installed with the `amazon-linux-extras install <package>` command. Example: `amazon-linux-extras install rust1`\n\n## Will updates be available for Amazon Linux containers?\n\nSimilar to the Amazon Linux images for Amazon EC2 and on-premises use, Amazon Linux container images will get ongoing updates from Amazon in the form of security updates, bug fix updates, and other enhancements. Security bulletins for Amazon Linux are available at https://alas.aws.amazon.com/\n\n## Will AWS Support the current version of Amazon Linux going forward?\n\nYes; in order to avoid any disruption to your existing applications and to facilitate migration to Amazon Linux 2, AWS will provide regular security updates for Amazon Linux 2018.03 AMI and container image for 2 years after the final LTS build is announced. You can also use all your existing support channels such as AWS Support and Amazon Linux Discussion Forum to continue to submit support requests." } }Per maggiori informazioni, consulta Creazione di un repository pubblico nella Guida per l’utente di Amazon ECR Public e Dati di catalogo di un repository nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta CreateRepository
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-repository-policy.
- AWS CLI
-
Come eliminare una policy di repository in un registro pubblico
Nell’esempio seguente,
delete-repository-policyelimina la policy di repository dal repository ECR Public nel tuo account AWS.aws ecr-public delete-repository-policy \ --repository-nameproject-a/nginx-web-app\ --regionus-east-1Output:
{ "registryId": "123456789012", "repositoryName": "project-a/nginx-web-app", "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"AllowPush\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : [ \"arn:aws:iam:"123456789012":user/eksuser1\", \"arn:aws:iam:"123456789012":user/admin\" ]\n },\n \"Action\" : [ \"ecr-public:BatchCheckLayerAvailability\", \"ecr-public:PutImage\", \"ecr-public:InitiateLayerUpload\", \"ecr-public:UploadLayerPart\", \"ecr-public:CompleteLayerUpload\" ]\n } ]\n}" }Per maggiori informazioni, consulta Eliminazione di un’istruzione di una policy di un repository pubblico nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta DeleteRepositoryPolicy
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare delete-repository.
- AWS CLI
-
Come eliminare un repository in un registro pubblico
L’esempio
delete-repositoryseguente elimina un repository denominatoproject-a/nginx-web-appdal registro pubblico.aws ecr-public delete-repository \ --repository-nameproject-a/nginx-web-appOutput:
{ "repository": { "repositoryArn": "arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app", "registryId": "123456789012", "repositoryName": "project-a/nginx-web-app", "repositoryUri": "public.ecr.aws/public-registry-custom-alias/project-a/nginx-web-app", "createdAt": "2024-07-01T22:14:50.103000+00:00" } }Per ulteriori informazioni, consulta Eliminazione di un repository pubblico nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta DeleteRepository
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-image-tags.
- AWS CLI
-
Esempio 1: come descrivere i tag delle immagini in un repository pubblico
Nell’esempio seguente,
describe-image-tagsdescrive gli imagetags nel repository di esempioproject-a/nginx-web-app.aws ecr-public describe-image-tags \ --repository-nameproject-a/nginx-web-app\ --regionus-east-1Output:
{ "imageTagDetails": [ { "imageTag": "latest", "createdAt": "2024-07-10T22:29:00-05:00", "imageDetail": { "imageDigest": "sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2", "imageSizeInBytes": 121956548, "imagePushedAt": "2024-07-10T22:29:00-05:00", "imageManifestMediaType": "application/vnd.docker.distribution.manifest.v2+json", "artifactMediaType": "application/vnd.docker.container.image.v1+json" } } ] }-
Per informazioni dettagliate sull’API, consulta DescribeImageTags
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-images.
- AWS CLI
-
Esempio 1: come descrivere le immagini in un repository del registro pubblico
Nell’esempio seguente,
describe-imagesdescrive imagesDetails in un repository denominatoproject-a/nginx-web-appin un registro pubblico.aws ecr-public describe-images \ --repository-nameproject-a/nginx-web-app\ --regionus-east-1Output:
{ "imageDetails": [ { "registryId": "123456789012", "repositoryName": "project-a/nginx-web-app", "imageDigest": "sha256:0d8c93e72e82fa070d49565c00af32abbe8ddfd7f75e39f4306771ae0628c7e8", "imageTags": [ "temp1.0" ], "imageSizeInBytes": 123184716, "imagePushedAt": "2024-07-23T11:32:49-05:00", "imageManifestMediaType": "application/vnd.docker.distribution.manifest.v2+json", "artifactMediaType": "application/vnd.docker.container.image.v1+json" }, { "registryId": "123456789012", "repositoryName": "project-a/nginx-web-app", "imageDigest": "sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2", "imageTags": [ "temp2.0" ], "imageSizeInBytes": 121956548, "imagePushedAt": "2024-07-23T11:39:38-05:00", "imageManifestMediaType": "application/vnd.docker.distribution.manifest.v2+json", "artifactMediaType": "application/vnd.docker.container.image.v1+json" }, { "registryId": "123456789012", "repositoryName": "project-a/nginx-web-app", "imageDigest": "sha256:f7a86a0760e2f8d7eff07e515fc87bf4bac45c35376c06f9a280f15ecad6d7e0", "imageTags": [ "temp3.0", "latest" ], "imageSizeInBytes": 232108879, "imagePushedAt": "2024-07-22T00:54:34-05:00", "imageManifestMediaType": "application/vnd.docker.distribution.manifest.v2+json", "artifactMediaType": "application/vnd.docker.container.image.v1+json" } ] }Per ulteriori informazioni, consulta Descrizione di un’immagine in un repository pubblico nella Guida per l’utente di Amazon ECR Public.
Esempio 2: come descrivere le immagini dal repository ordinando i dati in base a imageTags e imagePushedAt
Nell’esempio seguente,
describe-imagesdescrive le immagini all’interno di un repository denominato project-a/nginx-web-app in un registro pubblico.aws ecr-public describe-images \ --repository-nameproject-a/nginx-web-app\ --query 'sort_by(imageDetails,& imagePushedAt)[*].imageTags[*]' \ --outputtextOutput:
temp3.0 latest temp1.0 temp2.0Esempio 3: come descrivere le immagini dal repository per generare gli ultimi 2 tag di immagine inseriti nel repository
Nell’esempio seguente,
describe-imagesottiene i dettagli di imagetags dal repository denominatoproject-a/nginx-web-appin un registro pubblico e interroga il risultato per visualizzare solo i primi due record.aws ecr-public describe-images \ --repository-nameproject-a/nginx-web-app\ --query 'sort_by(imageDetails,& imagePushedAt)[*].imageTags[*] | [0:2]' \ --outputtextOutput:
temp3.0 latest temp1.0-
Per informazioni dettagliate sulla API, consulta DescribeImages
nel Riferimento ai comandi AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare describe-registries.
- AWS CLI
-
Come descrivere tutti i registri di un registro pubblico
Nell’esempio seguente,
describe-registriesdescrive tutti i registri nell’account.aws ecr-public describe-registriesOutput:
{ "registries": [ { "registryId": "123456789012", "registryArn": "arn:aws:ecr-public::123456789012:registry/123456789012", "registryUri": "public.ecr.aws/publicregistrycustomalias", "verified": false, "aliases": [ { "name": "publicregistrycustomalias", "status": "ACTIVE", "primaryRegistryAlias": true, "defaultRegistryAlias": true } ] } ] }-
Per informazioni dettagliate sull’API, consulta DescribeRegistries
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare describe-repository.
- AWS CLI
-
Esempio 1: come descrivere un repository in un registro pubblico
Nell’esempio seguente,
describe-repositoriesdescrive un repository denominatoproject-a/nginx-web-appin un registro pubblico.aws ecr-public describe-repositories \ --repository-nameproject-a/nginx-web-appOutput:
{ "repositories": [ { "repositoryArn": "arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app", "registryId": "123456789012", "repositoryName": "project-a/nginx-web-app", "repositoryUri": "public.ecr.aws/public-registry-custom-alias/project-a/nginx-web-app", "createdAt": "2024-07-07T00:07:56.526000-05:00" } ] }Esempio 2: come descrivere tutti i repository in un registro pubblico in una tabella
Nell’esempio seguente,
describe-repositoriesdescrive tutti i repository in un registro pubblico e quindi restituisce i nomi dei repository in un formato tabellare.aws ecr-public describe-repositories \ --regionus-east-1\ --outputtable\ --query"repositories[*].repositoryName"Output:
----------------------------- | DescribeRepositories | +---------------------------+ | project-a/nginx-web-app | | nginx | | myfirstrepo1 | | helm-test-chart | | test-ecr-public | | nginx-web-app | | sample-repo | +---------------------------+-
Per informazioni dettagliate sull’API, consulta DescribeRepository
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-authorization-token.
- AWS CLI
-
Esempio 1: come recuperare un token di autorizzazione per qualsiasi registro pubblico Amazon ECR a cui il principale IAM ha accesso
Nell’esempio seguente,
get-authorization-tokenottiene un token di autorizzazione con la AWS CLI e lo imposta in una variabile di ambiente.aws ecr-public get-authorization-token \ --regionus-east-1Output:
{ "authorizationData": { "authorizationToken": "QVdTOmV5SndZWGxzYjJKJFHDSFKJHERWUY65IOU36TRYEGFNSDLRIUOTUYTHJKLDFGOcmFUQk9OSFV2UVV4a0x6Sm1ZV0Z6TDFndlZtUjJSVmgxVEVObU9IZEdTWEZxU210c1JUQm5RWGxOUVV4NlNFUnROWG92ZWtGbWJFUjRkbWMyV0U5amFpczRNWGxTVkM5Tk5qWkVUM2RDYm05TVJqSkxjV3BsUVZvMmFYSm5iV1ZvVFdGSVRqVlFMMHN4VnpsTGVXbDFRWGRoTmpsbWFuQllhbVl6TkdGaGMwUjJha2xsYUhscWRscHZTRUpFVkVnNVQwNUdOVFpPY2xZclVFNVFVWGRSVFZvd04xUkhjVGxZZFVkQ1ZFZHBPRUptUzBVclYxQldMMjVMVkRsd2VFVlNSa1EzTWpWSlIxRkVWakJGZFZOVWEzaFBSVk5FWWpSc1lWZHZWMHBSYmxaMlJYWmhZekpaWVVOeFppdFlUa2xKU1RCdFUwdElVbXRJYlhGRk1WaFhNVTVRTkdwc1FYRlVNVWxZZUhkV05Xa3ZXWGd3ZUVZMWIyeE5VRU5QZEdSaWRHOU9lakZOZVdwTVZEUkNRVzlvYzNKSlpsRXhhR2cwWjJwRVJFVjNWalEzYjNCUmRIcEZUR1pYU1Rsc1kxSlNNbU5hUW5wRE1tOUpRMHR5Y1hkeGNXNDVMMmx4Um5GUlVGQnhjMVpQZG5WYUswOW9SQ3RPY0hwSlRsUk5lVXQyY0c1b1FsQjVZVEprVmtSdmJsQklOM05RU3pkNmQydERhMkZ5VmxSRmFVUndWVlE1ZGtsVWFXUkJWMFZEWVhoSFdXTk5VMXBTYTFreVRHZEVlVVZ0ZFRWRk4xTTVjRXBDUjBRMlYyTkdPVWhGWkVweVVGcEVaRFJxZUVablkwNXFaamh5YkVKWmJGSTNOVzFXSzFjdllXSTVTMWx2YUZacksxSnJWSFJ0Wml0T1NFSnpWVFZvV204eVFYbzFWRU5SYjNaR01Va3hPR3h2TWxkNVJsSmpUbTVSTjNjemJsUkdVRlZKVDBjeE9VeHlXVEpGVFRSS2NWbFdkVEJrV0VreFVsSktXbkpCVGtsMFdVZEJOMjltWjFFNGVHRktNbGRuWlVoUlNXNXdZV3A0VjI5M2FYZGljbE5tZGpkQ1ZYTmhOVFUyTDBzeVpteDBka0pUTVdkNGJ6TkxkSEJDYml0cE0waGhTbVpEZEZkQ00yOU1TM1pXTDNSVFlWaFpWelZXVWxjNFRXNXdhR3BhUmpoU1FuWnFkRlJMVW5abGRYRlNjVVJKZDBaSFpXUTRabEZUTUdOTVQwcFFkVXAyYjA5Tk9UaFlZMjEwVnpFMlpXdE9hMnBWV0hST1owUkpVV3R1VFU1dGJXWjNNVGc0VTAxUlNHZE9TbXRMY2tWYWJVeFljVVk0ZWpsTFdWWlRNbEZMVDJkMk1FaFBTMDl5YzJSM1NqTlplRGhUWVVOQlJGWnRlbkU1WTBKVFdqTktSR05WTkd0RGNEVjZNalJHVXpkVk9HTnVSa2xLUVd4SVJDODJXbGcyYldGemJVczJPRVp6TDBoNFMwWkRUMmdyYldGa1QwWjVhMlZQTm5SQ1l6QkpNbFpyVUhSaGVIbFVOR296VjFGVlQyMHpNeTlPWVVoSk1FdDBWalZFU2pneU5rcHNLemQxZDNwcVp6RlNja3AwVm10VU0yRnRWWGMzZDJnMFduSnFjVXczWTBjclNXeHFUVlUyVkZwWGNWY3ZSV0V6WW1oT2JIRklZVlJHU1RrMGEyOVJiMHBPVUhORk9FdERjbFJZY0daS2VVdHRZa2x5YjFORE4zSkJaWEJPZUU5eGR6WnhZMlY1WXprM1JtSkZhVFZFYkVFck5EUk9ZMWRyVEVNd1dqa2lMQ0prWVhSaGEyVjVJam9pWlhsS1VWSkdaMmxQYVVwV1ZXeENhVk5YVm14WFdFWk5VMjFrV21SRE9YaGFhWFF4VkhwS1MyTkljSHBVUms0MFlWaHNTbUpIYUhsWFZHdDZZVWhqZDFKRmFETldNbFYyWTJ0cmVVMUlTbHBWUjJONFRURlJNMDlHYUd4U01uaHVWRVJzUWxaV1pGZFJibkJLV1RCYU5HTXpUakpXTUhoWFRrWndhRTVyTVVwVFZFSkdWV3RzTUZaVVpEQlRSVGxyVkVkb2FGUlVVWHBaTVhCSFQxWmFOVlJxU20xaVZXUnVTM3BaTlZaV2NIcFdWMlJGVkcwMVRHSXdSakpXUnpoNlVsUm5kbUpzUmpGT2FUazFWVzFTY0dWR1FtOVdiVEZoVmpKc1NWRllhRmRTUkZwc1V6SkdSbUpWYkhCVlNFbDJWVzB4Ym1OVk1IWmFhelZ3WkZoa1FtVnFUa3BpTTJoTVRWVk9jMVo2V2t4aWJFWnJWRVUxVW1ONlp6QldWVFZPWW14c01sZFlZekprUjFwVFkxaE9kRnBXWkhaVFZWcGhWa2MxU2xWRlVtdFRiWE16WWpOVmVrNXFSa2RVTTJSd1QwaGtXbVJIVVhsbGJYQkRaRlp2ZGxvd1ZqWmlNbEl4Vkc1T2FtSldjRU5VU0ZVd1kwZDRjbU14WkhaVVYwNTRaRzV2TWxSVlVsQmpiSEJPVkc1VmVsZEZPVzVYYkVwWlUyNWtVbGRZWkZWaVdFWlNUVzF3VFZSSVFraE9XRnBwWVZoak0xUnJXak5OYm04eFpEQk9XbEZzYkhSTmEyaHpaRmRTUTJORVFUQlpWMk01VUZOSmMwbHJiRUpTUTBrMlNXNUZlbHA2U1RGVVZXeFVZekIwYVU5RWFEVmtiRVpzVVZWc2QxbHJWbmxOYW13MVZWaG9UazVzVWpWbFJHaDZZMjFHVkZVeFFubFZXRTVLVGpCMGFXSlZNWGhpUjBwTVlUSTVNRTVVYXpCTE0wVnlWakF4VG1WSE5VcGtSa0pRVld4V1UwOVdVWGhqTVc4eVZraFdlVnA2VGsxV01tUnhVV3Q0ZEdGcVRsUk5hMnN5V2tSV2FtUkdVakZqVm5CUFVrUlNjR0pHUm1GbGFscDRXV2x6Y2xFd1VYcGhSRnBZVmtaU2FVNXVSVFZYYlVaVFpXdHdkVmRZVGpaVGEyaDBWMnhDVlU0elZrWlRSRUpIVlVWa2MwNVlhRFZsUkVwelQwWkNSbE5WY0ZGWFNFWXhaVmMxVEZsVE9VeFdhMGt4V1ROS1Rrd3pXazFpYkhCdFVrUldWRlJHVlhaTmJVazBZbFZzUkV3d2N6UldSV2MxVDBWa05tSXpiM2hXVms1V1ZtMDFiRkZUT1hoUFJVcHpUMGRzU2xaSVJrTkxNVTVFWWtaa05WWnViRmRYVjJRd1RXcG5kMVJWUmpCa1JYQkdZVlYwZFZNeU1VVlpWVTVQV25wa1ExZHFVbE5sUjBaRVlWVTFXbVZwY3pSTE1HTTFVbFZGTlZwRll6UlRSMVoxVFcxb05XTnJkRUpWZWxsM1RETmplbUV4WkdGU1JsWm9ZVVpzZEdWR2JFTlVNblJYVkRCNE5HUXlkRXhaTWxKTlYxZDBWRTB5YUZwaFJsazFVMGR3Y0ZGVk9YaGxhekV6VVZRd09VbHVNRDBpTENKMlpYSnphVzl1SWpvaU15SXNJblI1Y0dVaU9pSkVRVlJCWDB0RldTSXNJbVY0Y0dseVlYUnBiMjRpT2pFM01qRTVOVGMzTmpKOQ==", "expiresAt": "2024-07-25T21:37:26.301000-04:00" } }Per ulteriori informazioni, consulta Registri pubblici di Amazon ECR nella Guida per l’utente di Amazon ECR Public.
Esempio 2: come recuperare un token di autorizzazione per qualsiasi registro pubblico Amazon ECR a cui il principale IAM ha accesso
Nell’esempio seguente,
get-authorization-tokenottiene un token di autorizzazione con la AWS CLI e lo imposta in una variabile di ambiente.aws ecr-public get-authorization-token \ --regionus-east-1\ --output=text \ --query 'authorizationData.authorizationToken'Output:
QVdTOmV5SndZWGxzYjJKJFHDSFKJHERWUY65IOU36TRYEGFNSDLRIUOTUYTHJKLDFGOcmFUQk9OSFV2UVV4a0x6Sm1ZV0Z6TDFndlZtUjJSVmgxVEVObU9IZEdTWEZxU210c1JUQm5RWGxOUVV4NlNFUnROWG92ZWtGbWJFUjRkbWMyV0U5amFpczRNWGxTVkM5Tk5qWkVUM2RDYm05TVJqSkxjV3BsUVZvMmFYSm5iV1ZvVFdGSVRqVlFMMHN4VnpsTGVXbDFRWGRoTmpsbWFuQllhbVl6TkdGaGMwUjJha2xsYUhscWRscHZTRUpFVkVnNVQwNUdOVFpPY2xZclVFNVFVWGRSVFZvd04xUkhjVGxZZFVkQ1ZFZHBPRUptUzBVclYxQldMMjVMVkRsd2VFVlNSa1EzTWpWSlIxRkVWakJGZFZOVWEzaFBSVk5FWWpSc1lWZHZWMHBSYmxaMlJYWmhZekpaWVVOeFppdFlUa2xKU1RCdFUwdElVbXRJYlhGRk1WaFhNVTVRTkdwc1FYRlVNVWxZZUhkV05Xa3ZXWGd3ZUVZMWIyeE5VRU5QZEdSaWRHOU9lakZOZVdwTVZEUkNRVzlvYzNKSlpsRXhhR2cwWjJwRVJFVjNWalEzYjNCUmRIcEZUR1pYU1Rsc1kxSlNNbU5hUW5wRE1tOUpRMHR5Y1hkeGNXNDVMMmx4Um5GUlVGQnhjMVpQZG5WYUswOW9SQ3RPY0hwSlRsUk5lVXQyY0c1b1FsQjVZVEprVmtSdmJsQklOM05RU3pkNmQydERhMkZ5VmxSRmFVUndWVlE1ZGtsVWFXUkJWMFZEWVhoSFdXTk5VMXBTYTFreVRHZEVlVVZ0ZFRWRk4xTTVjRXBDUjBRMlYyTkdPVWhGWkVweVVGcEVaRFJxZUVablkwNXFaamh5YkVKWmJGSTNOVzFXSzFjdllXSTVTMWx2YUZacksxSnJWSFJ0Wml0T1NFSnpWVFZvV204eVFYbzFWRU5SYjNaR01Va3hPR3h2TWxkNVJsSmpUbTVSTjNjemJsUkdVRlZKVDBjeE9VeHlXVEpGVFRSS2NWbFdkVEJrV0VreFVsSktXbkpCVGtsMFdVZEJOMjltWjFFNGVHRktNbGRuWlVoUlNXNXdZV3A0VjI5M2FYZGljbE5tZGpkQ1ZYTmhOVFUyTDBzeVpteDBka0pUTVdkNGJ6TkxkSEJDYml0cE0waGhTbVpEZEZkQ00yOU1TM1pXTDNSVFlWaFpWelZXVWxjNFRXNXdhR3BhUmpoU1FuWnFkRlJMVW5abGRYRlNjVVJKZDBaSFpXUTRabEZUTUdOTVQwcFFkVXAyYjA5Tk9UaFlZMjEwVnpFMlpXdE9hMnBWV0hST1owUkpVV3R1VFU1dGJXWjNNVGc0VTAxUlNHZE9TbXRMY2tWYWJVeFljVVk0ZWpsTFdWWlRNbEZMVDJkMk1FaFBTMDl5YzJSM1NqTlplRGhUWVVOQlJGWnRlbkU1WTBKVFdqTktSR05WTkd0RGNEVjZNalJHVXpkVk9HTnVSa2xLUVd4SVJDODJXbGcyYldGemJVczJPRVp6TDBoNFMwWkRUMmdyYldGa1QwWjVhMlZQTm5SQ1l6QkpNbFpyVUhSaGVIbFVOR296VjFGVlQyMHpNeTlPWVVoSk1FdDBWalZFU2pneU5rcHNLemQxZDNwcVp6RlNja3AwVm10VU0yRnRWWGMzZDJnMFduSnFjVXczWTBjclNXeHFUVlUyVkZwWGNWY3ZSV0V6WW1oT2JIRklZVlJHU1RrMGEyOVJiMHBPVUhORk9FdERjbFJZY0daS2VVdHRZa2x5YjFORE4zSkJaWEJPZUU5eGR6WnhZMlY1WXprM1JtSkZhVFZFYkVFck5EUk9ZMWRyVEVNd1dqa2lMQ0prWVhSaGEyVjVJam9pWlhsS1VWSkdaMmxQYVVwV1ZXeENhVk5YVm14WFdFWk5VMjFrV21SRE9YaGFhWFF4VkhwS1MyTkljSHBVUms0MFlWaHNTbUpIYUhsWFZHdDZZVWhqZDFKRmFETldNbFYyWTJ0cmVVMUlTbHBWUjJONFRURlJNMDlHYUd4U01uaHVWRVJzUWxaV1pGZFJibkJLV1RCYU5HTXpUakpXTUhoWFRrWndhRTVyTVVwVFZFSkdWV3RzTUZaVVpEQlRSVGxyVkVkb2FGUlVVWHBaTVhCSFQxWmFOVlJxU20xaVZXUnVTM3BaTlZaV2NIcFdWMlJGVkcwMVRHSXdSakpXUnpoNlVsUm5kbUpzUmpGT2FUazFWVzFTY0dWR1FtOVdiVEZoVmpKc1NWRllhRmRTUkZwc1V6SkdSbUpWYkhCVlNFbDJWVzB4Ym1OVk1IWmFhelZ3WkZoa1FtVnFUa3BpTTJoTVRWVk9jMVo2V2t4aWJFWnJWRVUxVW1ONlp6QldWVFZPWW14c01sZFlZekprUjFwVFkxaE9kRnBXWkhaVFZWcGhWa2MxU2xWRlVtdFRiWE16WWpOVmVrNXFSa2RVTTJSd1QwaGtXbVJIVVhsbGJYQkRaRlp2ZGxvd1ZqWmlNbEl4Vkc1T2FtSldjRU5VU0ZVd1kwZDRjbU14WkhaVVYwNTRaRzV2TWxSVlVsQmpiSEJPVkc1VmVsZEZPVzVYYkVwWlUyNWtVbGRZWkZWaVdFWlNUVzF3VFZSSVFraE9XRnBwWVZoak0xUnJXak5OYm04eFpEQk9XbEZzYkhSTmEyaHpaRmRTUTJORVFUQlpWMk01VUZOSmMwbHJiRUpTUTBrMlNXNUZlbHA2U1RGVVZXeFVZekIwYVU5RWFEVmtiRVpzVVZWc2QxbHJWbmxOYW13MVZWaG9UazVzVWpWbFJHaDZZMjFHVkZVeFFubFZXRTVLVGpCMGFXSlZNWGhpUjBwTVlUSTVNRTVVYXpCTE0wVnlWakF4VG1WSE5VcGtSa0pRVld4V1UwOVdVWGhqTVc4eVZraFdlVnA2VGsxV01tUnhVV3Q0ZEdGcVRsUk5hMnN5V2tSV2FtUkdVakZqVm5CUFVrUlNjR0pHUm1GbGFscDRXV2x6Y2xFd1VYcGhSRnBZVmtaU2FVNXVSVFZYYlVaVFpXdHdkVmRZVGpaVGEyaDBWMnhDVlU0elZrWlRSRUpIVlVWa2MwNVlhRFZsUkVwelQwWkNSbE5WY0ZGWFNFWXhaVmMxVEZsVE9VeFdhMGt4V1ROS1Rrd3pXazFpYkhCdFVrUldWRlJHVlhaTmJVazBZbFZzUkV3d2N6UldSV2MxVDBWa05tSXpiM2hXVms1V1ZtMDFiRkZUT1hoUFJVcHpUMGRzU2xaSVJrTkxNVTVFWWtaa05WWnViRmRYVjJRd1RXcG5kMVJWUmpCa1JYQkdZVlYwZFZNeU1VVlpWVTVQV25wa1ExZHFVbE5sUjBaRVlWVTFXbVZwY3pSTE1HTTFVbFZGTlZwRll6UlRSMVoxVFcxb05XTnJkRUpWZWxsM1RETmplbUV4WkdGU1JsWm9ZVVpzZEdWR2JFTlVNblJYVkRCNE5HUXlkRXhaTWxKTlYxZDBWRTB5YUZwaFJsazFVMGR3Y0ZGVk9YaGxhekV6VVZRd09VbHVNRDBpTENKMlpYSnphVzl1SWpvaU15SXNJblI1Y0dVaU9pSkVRVlJCWDB0RldTSXNJbVY0Y0dseVlYUnBiMjRpT2pFM01qRTVOVGMzTmpKOQPer ulteriori informazioni, consulta Registri pubblici di Amazon ECR nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta GetAuthorizationToken
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-login-password.
- AWS CLI
-
Esempio 1: come autenticare il docker in un registro pubblico Amazon ECR
Nell’esempio seguente,
get-login-passwordrecupera e visualizza un token di autenticazione utilizzando l’API GetAuthorizationToken che puoi utilizzare per autenticarti in un registro pubblico Amazon ECR.aws ecr-public get-login-password \ --regionus-east-1|dockerlogin\ --usernameAWS\ --password-stdinpublic.ecr.awsQuesto comando non produce alcun output nel terminale, ma invia invece l’output a Docker.
Per ulteriori informazioni, consulta Autenticazione sul registro pubblico nella Guida per l’utente di Amazon ECR Public.
Esempio 2: come autenticare il docker nel registro pubblico Amazon ECR personalizzato
Nell’esempio seguente,
get-login-passwordrecupera e visualizza un token di autenticazione utilizzando l’API GetAuthorizationToken che puoi usare per autenticarti nel tuo registro pubblico Amazon ECR personalizzato.aws ecr-public get-login-password \ --region us-east-1 \ | docker login \ --username AWS \ --password-stdin public.ecr.aws/<your-public-registry-custom-alias>Questo comando non produce alcun output nel terminale, ma invia invece l’output a Docker.
Per ulteriori informazioni, consulta Autenticazione sul proprio Amazon ECR Public nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta GetLoginPassword
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-registry-catalog-data.
- AWS CLI
-
Come recuperare i metadati del catalogo per un registro ECR pubblico
Il seguente comando
get-registry-catalog-datarecupera il catalogo i metadati del catalogo per un registro ECR pubblico.aws ecr-public get-registry-catalog-data \ --regionus-east-1Output:
{ "registryCatalogData": { "displayName": "YourCustomPublicRepositoryalias" } }-
Per informazioni dettagliate sull’API, consulta GetRegistryCatalogData
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-repository-catalog-data.
- AWS CLI
-
Come recuperare i metadati del catalogo di un repository in un registro pubblico
Nell’esempio seguente,
get-repository-catalog-dataelenca i metadati del catalogo per il repositoryproject-a/nginx-web-appin un registro pubblico.aws ecr-public get-repository-catalog-data \ --repository-nameproject-a/nginx-web-app\ --regionus-east-1Output:
{ "catalogData": { "description": "My project-a ECR Public Repository", "architectures": [ "ARM", "ARM 64", "x86", "x86-64" ], "operatingSystems": [ "Linux" ], "logoUrl": "https://d3g9o9u8re44ak.cloudfront.net/logo/491d3846-8f33-4d8b-a10c-c2ce271e6c0d/4f09d87c-2569-4916-a932-5c296bf6f88a.png", "aboutText": "## Quick reference\n\nMaintained <truncated>", "usageText": "## Supported architectures\n\namd64, arm64v8\n\n## <truncated>" } }Per ulteriori informazioni, consulta Dati del catalogo del repository nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta GetRepositoryCatalogData
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare get-repository-policy.
- AWS CLI
-
Come ottenere una policy di repository associata al repository
Nell’esempio seguente,
get-repository-policyottiene una policy del repository associata al repository.aws ecr-public get-repository-policy \ --repository-nameproject-a/nginx-web-app\ --regionus-east-1Output:
{ "registryId": "123456789012", "repositoryName": "project-a/nginx-web-app", "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"AllowPush\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : [ \"arn:aws:iam::123456789012:user/eksuser1\", \"arn:aws:iam::123456789012:user/admin\" ]\n },\n \"Action\" : [ \"ecr-public:BatchCheckLayerAvailability\", \"ecr-public:PutImage\", \"ecr-public:InitiateLayerUpload\", \"ecr-public:UploadLayerPart\", \"ecr-public:CompleteLayerUpload\" ]\n } ]\n}" }Per maggiori informazioni, consulta Utilizzo di GetRepositoryPolicy con un SDK AWSo la CLI nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta GetRepositoryPolicy
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare list-tags-for-resource.
- AWS CLI
-
Come elencare i tag di un repository pubblico in un registro pubblico
Nell’esempio seguente,
list-tags-for-resourceelenca i tag per una risorsa denominataproject-a/nginx-web-appin un registro pubblico.aws ecr-public list-tags-for-resource \ --resource-arnarn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app\ --regionus-east-1Output:
{ "tags": [ { "Key": "Environment", "Value": "Prod" }, { "Key": "stack", "Value": "dev1" }, { "Key": "Name", "Value": "project-a/nginx-web-app" } ] }Per ulteriori informazioni, consulta Elenco dei tag di un repository pubblico nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta ListTagsForResource
nella Documentazione di riferimento dei comandi della AWS CLI.
-
L’esempio di codice seguente mostra come utilizzare put-registry-catalog-data.
- AWS CLI
-
Come creare o aggiornare i metadati del catalogo per un registro ECR pubblico
Il seguente comando
put-registry-catalog-datacrea o aggiorna i metadati del catalogo per un registro ECR pubblico. Solo gli account che dispongono del badge dell’account verificato possono avere un nome visualizzato nel registro.aws ecr-public put-registry-catalog-data \ --regionus-east-1\ --display-name<YourCustomPublicRepositoryalias>Output:
{ "registryCatalogData": { "displayName": "YourCustomPublicRepositoryalias" } }-
Per informazioni dettagliate sull’API, consulta PutRegistryCatalogData
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare put-repository-catalog-data.
- AWS CLI
-
Come creare o aggiornare i dati del catalogo per un repository in un registro pubblico
Nell’esempio seguente,
put-repository-catalog-datacrea o aggiorna i dati del catalogo per il repository denominato project-a/nginx-web-app in un registro pubblico, insieme alle informazioni relative a logoImageBlob, aboutText, usageText e tag.aws ecr-public put-repository-catalog-data \ --repository-nameproject-a/nginx-web-app\ --cli-input-jsonfile://repository-catalog-data.json\ --regionus-east-1Contenuto di
repository-catalog-data.json:{ "repositoryName": "project-a/nginx-web-app", "catalogData": { "description": "My project-a ECR Public Repository", "architectures": [ "ARM", "ARM 64", "x86", "x86-64" ], "operatingSystems": [ "Linux" ], "logoImageBlob": "iVBORw0KGgoA<<truncated-for-better-reading>>ErkJggg==", "aboutText": "## Quick reference.", "usageText": "## Supported architectures are as follows." } }Output:
{ "catalogData": { "description": "My project-a ECR Public Repository", "architectures": [ "ARM", "ARM 64", "x86", "x86-64" ], "operatingSystems": [ "Linux" ], "logoUrl": "https://d3g9o9u8re44ak.cloudfront.net/logo/df86cf58-ee60-4061-b804-0be24d97ccb1/4a9ed9b2-69e4-4ede-b924-461462d20ef0.png", "aboutText": "## Quick reference.", "usageText": "## Supported architectures are as follows." } }Per ulteriori informazioni, consulta Dati del catalogo del repository nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta PutRepositoryCatalogData
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare set-repository-policy.
- AWS CLI
-
Esempio 1: come impostare una policy di repository per consentire un pull sul repository
Nell’esempio seguente,
set-repository-policyapplica una policy del repository pubblico ECR al repository specificato per controllare le autorizzazioni di accesso.aws ecr-public set-repository-policy \ --repository-nameproject-a/nginx-web-app\ --policy-textfile://my-repository-policy.jsonContenuto di
my-repository-policy.json:{ "Version":"2012-10-17", "Statement" : [ { "Sid" : "allow public pull", "Effect" : "Allow", "Principal" : "*", "Action" : [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }Output:
{ "registryId": "12345678901", "repositoryName": "project-a/nginx-web-app", "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 maggiori informazioni, consulta Impostazione di un’istruzione di una policy di un repository nella Guida per l’utente di Amazon ECR Public.
Esempio 2: come impostare una policy di repository per consentire a un utente IAM all’interno dell’account corrente di eseguire il push delle immagini
Nell’esempio seguente,
set-repository-policyconsente a un utente IAM del tuo account di inviare le immagini a un archivio ECR del tuo account AWS utilizzando il file di input denominatofile://my-repository-policy.jsoncome testo della policy.aws ecr-public set-repository-policy \ --repository-nameproject-a/nginx-web-app\ --policy-textfile://my-repository-policy.jsonContenuto di
my-repository-policy.json:{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowPush", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id:user/push-pull-user-1", "arn:aws:iam::account-id:user/push-pull-user-2" ] }, "Action": [ "ecr-public:BatchCheckLayerAvailability", "ecr-public:PutImage", "ecr-public:InitiateLayerUpload", "ecr-public:UploadLayerPart", "ecr-public:CompleteLayerUpload" ] } ] }Output:
{ "registryId": "12345678901", "repositoryName": "project-a/nginx-web-app", "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"AllowPush\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : [ \"arn:aws:iam::12345678901:user/admin\", \"arn:aws:iam::12345678901:user/eksuser1\" ]\n },\n \"Action\" : [ \"ecr-public:BatchCheckLayerAvailability\", \"ecr-public:PutImage\", \"ecr-public:InitiateLayerUpload\", \"ecr-public:UploadLayerPart\", \"ecr-public:CompleteLayerUpload\" ]\n } ]\n}" }Per maggiori informazioni, consulta Impostazione di un’istruzione di una policy di un repository nella Guida per l’utente di Amazon ECR Public.
Esempio 3: come impostare una policy di repository per consentire a un utente IAM all’interno di un account diverso di eseguire il push delle immagini
Nell’esempio seguente,
set-repository-policyconsente a un account specifico di inviare immagini utilizzando l’input della CLI file://my-repository-policy.json nel tuo account AWS.aws ecr-public set-repository-policy \ --repository-nameproject-a/nginx-web-app\ --policy-textfile://my-repository-policy.jsonContenuto di
my-repository-policy.json:{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountPush", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::other-or-same-account-id:role/RoleName" }, "Action": [ "ecr-public:BatchCheckLayerAvailability", "ecr-public:PutImage", "ecr-public:InitiateLayerUpload", "ecr-public:UploadLayerPart", "ecr-public:CompleteLayerUpload" ] } ] }Output:
{ "registryId": "12345678901", "repositoryName": "project-a/nginx-web-app", "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"AllowCrossAccountPush\",\n \"Effect\" : \"Allow\",\n \"Principal\" : {\n \"AWS\" : \"arn:aws:iam::12345678901:role/RoleName\"\n },\n \"Action\" : [ \"ecr-public:BatchCheckLayerAvailability\", \"ecr-public:PutImage\", \"ecr-public:InitiateLayerUpload\", \"ecr-public:UploadLayerPart\", \"ecr-public:CompleteLayerUpload\" ]\n } ]\n}" }Per maggiori informazioni, consulta Esempi di policy di repository pubblici nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta SetRepositoryPolicy
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare tag-resource.
- AWS CLI
-
Esempio 1: come associare un tag a un repository pubblico esistente in un registro pubblico
Nell’esempio seguente,
tag-resourceassocia un tag a un repository denominatoproject-a/nginx-web-appin un registro pubblico.aws ecr-public tag-resource \ --resource-arnarn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app\ --tagsKey=stack,Value=dev\ --regionus-east-1Per ulteriori informazioni, consulta Utilizzo di tag per un repository pubblico nella Guida per l’utente di Amazon ECR Public.
Esempio 2: come associare un tag a un repository pubblico esistente con più tag in un registro pubblico.
Nell’esempio seguente,
tag-resourceassocia un tag a un repository esistente con più tag.aws ecr-public tag-resource \ --resource-arnarn:aws:ecr-public::890517186334:repository/project-a/nginx-web-app\ --tagsKey=key1,Value=value1Key=key2,Value=value2Key=key3,Value=value3\ --regionus-east-1Per ulteriori informazioni, consulta Utilizzo di tag per un repository pubblico nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta TagResource
in AWS CLI Command Reference.
-
L’esempio di codice seguente mostra come utilizzare untag-resource.
- AWS CLI
-
Esempio 1: come rimuovere i tag da un repository pubblico esistente in un registro pubblico
Nell’esempio seguente,
untag-resourceassocia un tag a un repository denominatoproject-a/nginx-web-appin un registro pubblico.aws ecr-public untag-resource \ --resource-arnarn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app\ --tag-keysstack\ --regionus-east-1Questo comando non produce alcun output.
Per ulteriori informazioni, consulta Utilizzo di tag per un repository pubblico nella Guida per l’utente di Amazon ECR Public.
-
Per informazioni dettagliate sull’API, consulta UntagResource
in AWS CLI Command Reference.
-