Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplos públicos do Amazon ECR usando AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o Amazon ECR Public.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
Tópicos
Ações
O código de exemplo a seguir mostra como usar batch-delete-image.
- AWS CLI
-
Exemplo 1: para excluir uma imagem usando IDs de resumo de imagem, a imagem e todas as respectivas tags são excluídas em um repositório em um registro público
O exemplo de
batch-delete-imagea seguir exclui uma imagem especificando o respectivo resumo.aws ecr-public batch-delete-image \ --repository-nameproject-a/nginx-web-app\ --image-idsimageDigest=sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2Saída:
{ "imageIds": [ { "imageDigest": "sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2", "imageTag": "latest" } ], "failures": [] }Consulte mais informações em Deleting an image in a public repository no Guia do usuário do Amazon ECR Public.
Exemplo 2: como excluir qualquer imagem especificando a tag associada à imagem que você deseja excluir do repositório
O exemplo de
batch-delete-imagea seguir exclui uma imagem especificando a tag associada ao repositório de imagens chamadoproject-a/nginx-web-appem um registro público. Se você tiver apenas uma tag e executar esse comando, a imagem será removida. Caso contrário, se você tiver várias tags para a mesma imagem, especifique uma para que somente a tag seja removida do repositório, não a imagem.aws ecr-public batch-delete-image \ --repository-nameproject-a/nginx-web-app\ --image-idsimageTag=_tempSaída:
{ "imageIds": [ { "imageDigest": "sha256:f7a86a0760e2f8d7eff07e515fc87bf4bac45c35376c06f9a280f15ecad6d7e0", "imageTag": "_temp" } ], "failures": [] }Consulte mais informações em Deleting an image in a public repository no Guia do usuário do Amazon ECR Public.
Exemplo 3: para excluir várias imagens, é possível especificar várias tags de imagem ou resumos de imagem na solicitação para um repositório em um registro público
O
batch-delete-imageexemplo a seguir exclui várias imagens de um repositório chamado project-a/ nginx-web-app especificando várias tags de imagem ou resumos de imagens na solicitação.aws ecr-public batch-delete-image \ --repository-nameproject-a/nginx-web-app\ --image-idsimageTag=temp2.0imageDigest=sha256:47ba980bc055353d9c0af89b1894f68faa43ca93856917b8406316be86f01278Saída:
{ "imageIds": [ { "imageDigest": "sha256:47ba980bc055353d9c0af89b1894f68faa43ca93856917b8406316be86f01278" }, { "imageDigest": "sha256:f7a86a0760e2f8d7eff07e515fc87bf4bac45c35376c06f9a280f15ecad6d7e0", "imageTag": "temp2.0" } ], "failures": [] }Consulte mais informações em Deleting an image in a public repository no Guia do usuário do Amazon ECR Public.
Exemplo 4: Para excluir uma imagem em várias AWS contas usando os ids registry-id e imagedigest, a imagem e todas as suas tags são excluídas em um repositório em um registro público
O
batch-delete-imageexemplo a seguir exclui uma imagem especificando o resumo da imagem na conta cruzada. AWS :aws ecr-public batch-delete-image \ --registry-id123456789098\ --repository-nameproject-a/nginx-web-app\ --image-idsimageDigest=sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2\ --regionus-east-1Saída:
{ "imageIds": [ { "imageDigest": "sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2", "imageTag": "temp2.0" } ], "failures": [] }Consulte mais informações em Deleting an image in a public repository no Guia do usuário do Amazon ECR Public.
-
Para obter detalhes da API, consulte BatchDeleteImage
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar create-repository.
- AWS CLI
-
Exemplo 1: criar um repositório em um registro público
O
create-repositoryexemplo a seguir cria um repositório chamado project-a/ nginx-web-app em um registro público.aws ecr-public create-repository \ --repository-nameproject-a/nginx-web-appSaída:
{ "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": {} }Para obter mais informações, consulte Criar um repositório público no Guia do usuário público do Amazon ECR.
Exemplo 2: criar um repositório em um registro público com uma breve descrição do conteúdo do repositório, do sistema e da arquitetura operacional com os quais as imagens no repositório são compatíveis
O
create-repositoryexemplo a seguir cria um repositório chamado project-a/ nginx-web-app em um registro público com uma breve descrição do conteúdo do repositório, do sistema e da arquitetura operacional com os quais as imagens no repositório são compatíveis.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'Saída:
{ "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" ] } }Para obter mais informações, consulte Criar um repositório público no Guia do usuário público do Amazon ECR.
Exemplo 3: Para criar um repositório em um registro público, junto com informações sobre aboutText logoImageBlob, usageText e tags
O
create-repositoryexemplo a seguir cria um repositório chamado project-a/ nginx-web-app em um registro público, junto com informações sobre aboutText, logoImageBlob usageText e tags.aws ecr-public create-repository \ --cli-input-jsonfile://myfile.jsonConteúdo de
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" } ] }Saída:
{ "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." } }Para obter mais informações, consulte Criar um repositório público no Guia do usuário público do Amazon ECR e Dados do catálogo do repositório no Guia do usuário público do Amazon ECR.
-
Para obter detalhes da API, consulte CreateRepository
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-repository-policy.
- AWS CLI
-
Como excluir uma política de repositório em um registro público
O
delete-repository-policyexemplo a seguir exclui a política de repositório do repositório público ECR em sua conta. AWSaws ecr-public delete-repository-policy \ --repository-nameproject-a/nginx-web-app\ --regionus-east-1Saída:
{ "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}" }Consulte mais informações em Deleting a public repository policy statement no Guia do usuário do Amazon ECR Public.
-
Para obter detalhes da API, consulte DeleteRepositoryPolicy
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-repository.
- AWS CLI
-
Para excluir um repositório em um registro público
O exemplo
delete-repositorya seguir exclui um repositório chamadoproject-a/nginx-web-appdo seu registro público.aws ecr-public delete-repository \ --repository-nameproject-a/nginx-web-appSaída:
{ "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" } }Consulte mais informações em Deleting a public repository no Guia do usuário do Amazon ECR Public.
-
Para obter detalhes da API, consulte DeleteRepository
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-image-tags.
- AWS CLI
-
Exemplo 1: como descrever os detalhes da tag de imagem no repositório público
O exemplo de
describe-image-tagsa seguir descreve as tags de imagem no repositórioproject-a/nginx-web-appde amostra.aws ecr-public describe-image-tags \ --repository-nameproject-a/nginx-web-app\ --regionus-east-1Saída:
{ "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" } } ] }-
Para obter detalhes da API, consulte DescribeImageTags
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-images.
- AWS CLI
-
Exemplo 1: como descrever imagens em um repositório de registro público
O exemplo de
describe-imagesa seguir descreve imagesDetails em um repositório chamadoproject-a/nginx-web-appem um registro público.aws ecr-public describe-images \ --repository-nameproject-a/nginx-web-app\ --regionus-east-1Saída:
{ "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" } ] }Consulte mais informações em Describe an image in a public repository no Amazon ECR Public.
Exemplo 2: Para descrever imagens do repositório classificando ImageTags & imagePushedAt
O
describe-imagesexemplo a seguir descreve imagens em um repositório chamado project-a/ nginx-web-app em um registro público.aws ecr-public describe-images \ --repository-nameproject-a/nginx-web-app\ --query 'sort_by(imageDetails,& imagePushedAt)[*].imageTags[*]' \ --outputtextSaída:
temp3.0 latest temp1.0 temp2.0Exemplo 3: como descrever imagens do repositório para gerar as duas últimas tags de imagem enviadas no repositório
O exemplo de
describe-imagesa seguir obtém detalhes de imagetags do repositório chamadoproject-a/nginx-web-appem um registro público e consulta o resultado para exibir somente os dois primeiros registros.aws ecr-public describe-images \ --repository-nameproject-a/nginx-web-app\ --query 'sort_by(imageDetails,& imagePushedAt)[*].imageTags[*] | [0:2]' \ --outputtextSaída:
temp3.0 latest temp1.0-
Para obter detalhes da API, consulte DescribeImages
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-registries.
- AWS CLI
-
Como descrever todos os registros em um registro público
O exemplo de
describe-registriesa seguir descreve todos os registros na sua conta.aws ecr-public describe-registriesSaída:
{ "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 } ] } ] }-
Para obter detalhes da API, consulte DescribeRegistries
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-repository.
- AWS CLI
-
Exemplo 1: como descrever um repositório em um registro público
O exemplo de
describe-repositoriesa seguir cria um repositório chamadoproject-a/nginx-web-appem um registro público.aws ecr-public describe-repositories \ --repository-nameproject-a/nginx-web-appSaída:
{ "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" } ] }Exemplo 2: como descrever todos os repositórios em um registro público em uma tabela
O exemplo de
describe-repositoriesa seguir descreve todos os repositórios em um registro público e, depois, exibe os nomes dos repositórios em formato de tabela.aws ecr-public describe-repositories \ --regionus-east-1\ --outputtable\ --query"repositories[*].repositoryName"Saída:
----------------------------- | DescribeRepositories | +---------------------------+ | project-a/nginx-web-app | | nginx | | myfirstrepo1 | | helm-test-chart | | test-ecr-public | | nginx-web-app | | sample-repo | +---------------------------+-
Para obter detalhes da API, consulte DescribeRepository
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-authorization-token.
- AWS CLI
-
Exemplo 1: como recuperar um token de autorização para qualquer registro público do Amazon ECR ao qual a entidade principal do IAM tenha acesso
O
get-authorization-tokenexemplo a seguir obtém um token de autorização com a AWS CLI e o define como uma variável de ambiente.aws ecr-public get-authorization-token \ --regionus-east-1Saída:
{ "authorizationData": { "authorizationToken": "QVdTOmV5SndZWGxzYjJKJFHDSFKJHERWUY65IOU36TRYEGFNSDLRIUOTUYTHJKLDFGOcmFUQk9OSFV2UVV4a0x6Sm1ZV0Z6TDFndlZtUjJSVmgxVEVObU9IZEdTWEZxU210c1JUQm5RWGxOUVV4NlNFUnROWG92ZWtGbWJFUjRkbWMyV0U5amFpczRNWGxTVkM5Tk5qWkVUM2RDYm05TVJqSkxjV3BsUVZvMmFYSm5iV1ZvVFdGSVRqVlFMMHN4VnpsTGVXbDFRWGRoTmpsbWFuQllhbVl6TkdGaGMwUjJha2xsYUhscWRscHZTRUpFVkVnNVQwNUdOVFpPY2xZclVFNVFVWGRSVFZvd04xUkhjVGxZZFVkQ1ZFZHBPRUptUzBVclYxQldMMjVMVkRsd2VFVlNSa1EzTWpWSlIxRkVWakJGZFZOVWEzaFBSVk5FWWpSc1lWZHZWMHBSYmxaMlJYWmhZekpaWVVOeFppdFlUa2xKU1RCdFUwdElVbXRJYlhGRk1WaFhNVTVRTkdwc1FYRlVNVWxZZUhkV05Xa3ZXWGd3ZUVZMWIyeE5VRU5QZEdSaWRHOU9lakZOZVdwTVZEUkNRVzlvYzNKSlpsRXhhR2cwWjJwRVJFVjNWalEzYjNCUmRIcEZUR1pYU1Rsc1kxSlNNbU5hUW5wRE1tOUpRMHR5Y1hkeGNXNDVMMmx4Um5GUlVGQnhjMVpQZG5WYUswOW9SQ3RPY0hwSlRsUk5lVXQyY0c1b1FsQjVZVEprVmtSdmJsQklOM05RU3pkNmQydERhMkZ5VmxSRmFVUndWVlE1ZGtsVWFXUkJWMFZEWVhoSFdXTk5VMXBTYTFreVRHZEVlVVZ0ZFRWRk4xTTVjRXBDUjBRMlYyTkdPVWhGWkVweVVGcEVaRFJxZUVablkwNXFaamh5YkVKWmJGSTNOVzFXSzFjdllXSTVTMWx2YUZacksxSnJWSFJ0Wml0T1NFSnpWVFZvV204eVFYbzFWRU5SYjNaR01Va3hPR3h2TWxkNVJsSmpUbTVSTjNjemJsUkdVRlZKVDBjeE9VeHlXVEpGVFRSS2NWbFdkVEJrV0VreFVsSktXbkpCVGtsMFdVZEJOMjltWjFFNGVHRktNbGRuWlVoUlNXNXdZV3A0VjI5M2FYZGljbE5tZGpkQ1ZYTmhOVFUyTDBzeVpteDBka0pUTVdkNGJ6TkxkSEJDYml0cE0waGhTbVpEZEZkQ00yOU1TM1pXTDNSVFlWaFpWelZXVWxjNFRXNXdhR3BhUmpoU1FuWnFkRlJMVW5abGRYRlNjVVJKZDBaSFpXUTRabEZUTUdOTVQwcFFkVXAyYjA5Tk9UaFlZMjEwVnpFMlpXdE9hMnBWV0hST1owUkpVV3R1VFU1dGJXWjNNVGc0VTAxUlNHZE9TbXRMY2tWYWJVeFljVVk0ZWpsTFdWWlRNbEZMVDJkMk1FaFBTMDl5YzJSM1NqTlplRGhUWVVOQlJGWnRlbkU1WTBKVFdqTktSR05WTkd0RGNEVjZNalJHVXpkVk9HTnVSa2xLUVd4SVJDODJXbGcyYldGemJVczJPRVp6TDBoNFMwWkRUMmdyYldGa1QwWjVhMlZQTm5SQ1l6QkpNbFpyVUhSaGVIbFVOR296VjFGVlQyMHpNeTlPWVVoSk1FdDBWalZFU2pneU5rcHNLemQxZDNwcVp6RlNja3AwVm10VU0yRnRWWGMzZDJnMFduSnFjVXczWTBjclNXeHFUVlUyVkZwWGNWY3ZSV0V6WW1oT2JIRklZVlJHU1RrMGEyOVJiMHBPVUhORk9FdERjbFJZY0daS2VVdHRZa2x5YjFORE4zSkJaWEJPZUU5eGR6WnhZMlY1WXprM1JtSkZhVFZFYkVFck5EUk9ZMWRyVEVNd1dqa2lMQ0prWVhSaGEyVjVJam9pWlhsS1VWSkdaMmxQYVVwV1ZXeENhVk5YVm14WFdFWk5VMjFrV21SRE9YaGFhWFF4VkhwS1MyTkljSHBVUms0MFlWaHNTbUpIYUhsWFZHdDZZVWhqZDFKRmFETldNbFYyWTJ0cmVVMUlTbHBWUjJONFRURlJNMDlHYUd4U01uaHVWRVJzUWxaV1pGZFJibkJLV1RCYU5HTXpUakpXTUhoWFRrWndhRTVyTVVwVFZFSkdWV3RzTUZaVVpEQlRSVGxyVkVkb2FGUlVVWHBaTVhCSFQxWmFOVlJxU20xaVZXUnVTM3BaTlZaV2NIcFdWMlJGVkcwMVRHSXdSakpXUnpoNlVsUm5kbUpzUmpGT2FUazFWVzFTY0dWR1FtOVdiVEZoVmpKc1NWRllhRmRTUkZwc1V6SkdSbUpWYkhCVlNFbDJWVzB4Ym1OVk1IWmFhelZ3WkZoa1FtVnFUa3BpTTJoTVRWVk9jMVo2V2t4aWJFWnJWRVUxVW1ONlp6QldWVFZPWW14c01sZFlZekprUjFwVFkxaE9kRnBXWkhaVFZWcGhWa2MxU2xWRlVtdFRiWE16WWpOVmVrNXFSa2RVTTJSd1QwaGtXbVJIVVhsbGJYQkRaRlp2ZGxvd1ZqWmlNbEl4Vkc1T2FtSldjRU5VU0ZVd1kwZDRjbU14WkhaVVYwNTRaRzV2TWxSVlVsQmpiSEJPVkc1VmVsZEZPVzVYYkVwWlUyNWtVbGRZWkZWaVdFWlNUVzF3VFZSSVFraE9XRnBwWVZoak0xUnJXak5OYm04eFpEQk9XbEZzYkhSTmEyaHpaRmRTUTJORVFUQlpWMk01VUZOSmMwbHJiRUpTUTBrMlNXNUZlbHA2U1RGVVZXeFVZekIwYVU5RWFEVmtiRVpzVVZWc2QxbHJWbmxOYW13MVZWaG9UazVzVWpWbFJHaDZZMjFHVkZVeFFubFZXRTVLVGpCMGFXSlZNWGhpUjBwTVlUSTVNRTVVYXpCTE0wVnlWakF4VG1WSE5VcGtSa0pRVld4V1UwOVdVWGhqTVc4eVZraFdlVnA2VGsxV01tUnhVV3Q0ZEdGcVRsUk5hMnN5V2tSV2FtUkdVakZqVm5CUFVrUlNjR0pHUm1GbGFscDRXV2x6Y2xFd1VYcGhSRnBZVmtaU2FVNXVSVFZYYlVaVFpXdHdkVmRZVGpaVGEyaDBWMnhDVlU0elZrWlRSRUpIVlVWa2MwNVlhRFZsUkVwelQwWkNSbE5WY0ZGWFNFWXhaVmMxVEZsVE9VeFdhMGt4V1ROS1Rrd3pXazFpYkhCdFVrUldWRlJHVlhaTmJVazBZbFZzUkV3d2N6UldSV2MxVDBWa05tSXpiM2hXVms1V1ZtMDFiRkZUT1hoUFJVcHpUMGRzU2xaSVJrTkxNVTVFWWtaa05WWnViRmRYVjJRd1RXcG5kMVJWUmpCa1JYQkdZVlYwZFZNeU1VVlpWVTVQV25wa1ExZHFVbE5sUjBaRVlWVTFXbVZwY3pSTE1HTTFVbFZGTlZwRll6UlRSMVoxVFcxb05XTnJkRUpWZWxsM1RETmplbUV4WkdGU1JsWm9ZVVpzZEdWR2JFTlVNblJYVkRCNE5HUXlkRXhaTWxKTlYxZDBWRTB5YUZwaFJsazFVMGR3Y0ZGVk9YaGxhekV6VVZRd09VbHVNRDBpTENKMlpYSnphVzl1SWpvaU15SXNJblI1Y0dVaU9pSkVRVlJCWDB0RldTSXNJbVY0Y0dseVlYUnBiMjRpT2pFM01qRTVOVGMzTmpKOQ==", "expiresAt": "2024-07-25T21:37:26.301000-04:00" } }Consulte mais informações em Amazon ECR public registries no Amazon ECR Public.
Exemplo 2: como recuperar um token de autorização para qualquer registro público do Amazon ECR ao qual a entidade principal do IAM tenha acesso
O
get-authorization-tokenexemplo a seguir obtém um token de autorização com a AWS CLI e o define como uma variável de ambiente.aws ecr-public get-authorization-token \ --regionus-east-1\ --output=text \ --query 'authorizationData.authorizationToken'Saída:
QVdTOmV5SndZWGxzYjJKJFHDSFKJHERWUY65IOU36TRYEGFNSDLRIUOTUYTHJKLDFGOcmFUQk9OSFV2UVV4a0x6Sm1ZV0Z6TDFndlZtUjJSVmgxVEVObU9IZEdTWEZxU210c1JUQm5RWGxOUVV4NlNFUnROWG92ZWtGbWJFUjRkbWMyV0U5amFpczRNWGxTVkM5Tk5qWkVUM2RDYm05TVJqSkxjV3BsUVZvMmFYSm5iV1ZvVFdGSVRqVlFMMHN4VnpsTGVXbDFRWGRoTmpsbWFuQllhbVl6TkdGaGMwUjJha2xsYUhscWRscHZTRUpFVkVnNVQwNUdOVFpPY2xZclVFNVFVWGRSVFZvd04xUkhjVGxZZFVkQ1ZFZHBPRUptUzBVclYxQldMMjVMVkRsd2VFVlNSa1EzTWpWSlIxRkVWakJGZFZOVWEzaFBSVk5FWWpSc1lWZHZWMHBSYmxaMlJYWmhZekpaWVVOeFppdFlUa2xKU1RCdFUwdElVbXRJYlhGRk1WaFhNVTVRTkdwc1FYRlVNVWxZZUhkV05Xa3ZXWGd3ZUVZMWIyeE5VRU5QZEdSaWRHOU9lakZOZVdwTVZEUkNRVzlvYzNKSlpsRXhhR2cwWjJwRVJFVjNWalEzYjNCUmRIcEZUR1pYU1Rsc1kxSlNNbU5hUW5wRE1tOUpRMHR5Y1hkeGNXNDVMMmx4Um5GUlVGQnhjMVpQZG5WYUswOW9SQ3RPY0hwSlRsUk5lVXQyY0c1b1FsQjVZVEprVmtSdmJsQklOM05RU3pkNmQydERhMkZ5VmxSRmFVUndWVlE1ZGtsVWFXUkJWMFZEWVhoSFdXTk5VMXBTYTFreVRHZEVlVVZ0ZFRWRk4xTTVjRXBDUjBRMlYyTkdPVWhGWkVweVVGcEVaRFJxZUVablkwNXFaamh5YkVKWmJGSTNOVzFXSzFjdllXSTVTMWx2YUZacksxSnJWSFJ0Wml0T1NFSnpWVFZvV204eVFYbzFWRU5SYjNaR01Va3hPR3h2TWxkNVJsSmpUbTVSTjNjemJsUkdVRlZKVDBjeE9VeHlXVEpGVFRSS2NWbFdkVEJrV0VreFVsSktXbkpCVGtsMFdVZEJOMjltWjFFNGVHRktNbGRuWlVoUlNXNXdZV3A0VjI5M2FYZGljbE5tZGpkQ1ZYTmhOVFUyTDBzeVpteDBka0pUTVdkNGJ6TkxkSEJDYml0cE0waGhTbVpEZEZkQ00yOU1TM1pXTDNSVFlWaFpWelZXVWxjNFRXNXdhR3BhUmpoU1FuWnFkRlJMVW5abGRYRlNjVVJKZDBaSFpXUTRabEZUTUdOTVQwcFFkVXAyYjA5Tk9UaFlZMjEwVnpFMlpXdE9hMnBWV0hST1owUkpVV3R1VFU1dGJXWjNNVGc0VTAxUlNHZE9TbXRMY2tWYWJVeFljVVk0ZWpsTFdWWlRNbEZMVDJkMk1FaFBTMDl5YzJSM1NqTlplRGhUWVVOQlJGWnRlbkU1WTBKVFdqTktSR05WTkd0RGNEVjZNalJHVXpkVk9HTnVSa2xLUVd4SVJDODJXbGcyYldGemJVczJPRVp6TDBoNFMwWkRUMmdyYldGa1QwWjVhMlZQTm5SQ1l6QkpNbFpyVUhSaGVIbFVOR296VjFGVlQyMHpNeTlPWVVoSk1FdDBWalZFU2pneU5rcHNLemQxZDNwcVp6RlNja3AwVm10VU0yRnRWWGMzZDJnMFduSnFjVXczWTBjclNXeHFUVlUyVkZwWGNWY3ZSV0V6WW1oT2JIRklZVlJHU1RrMGEyOVJiMHBPVUhORk9FdERjbFJZY0daS2VVdHRZa2x5YjFORE4zSkJaWEJPZUU5eGR6WnhZMlY1WXprM1JtSkZhVFZFYkVFck5EUk9ZMWRyVEVNd1dqa2lMQ0prWVhSaGEyVjVJam9pWlhsS1VWSkdaMmxQYVVwV1ZXeENhVk5YVm14WFdFWk5VMjFrV21SRE9YaGFhWFF4VkhwS1MyTkljSHBVUms0MFlWaHNTbUpIYUhsWFZHdDZZVWhqZDFKRmFETldNbFYyWTJ0cmVVMUlTbHBWUjJONFRURlJNMDlHYUd4U01uaHVWRVJzUWxaV1pGZFJibkJLV1RCYU5HTXpUakpXTUhoWFRrWndhRTVyTVVwVFZFSkdWV3RzTUZaVVpEQlRSVGxyVkVkb2FGUlVVWHBaTVhCSFQxWmFOVlJxU20xaVZXUnVTM3BaTlZaV2NIcFdWMlJGVkcwMVRHSXdSakpXUnpoNlVsUm5kbUpzUmpGT2FUazFWVzFTY0dWR1FtOVdiVEZoVmpKc1NWRllhRmRTUkZwc1V6SkdSbUpWYkhCVlNFbDJWVzB4Ym1OVk1IWmFhelZ3WkZoa1FtVnFUa3BpTTJoTVRWVk9jMVo2V2t4aWJFWnJWRVUxVW1ONlp6QldWVFZPWW14c01sZFlZekprUjFwVFkxaE9kRnBXWkhaVFZWcGhWa2MxU2xWRlVtdFRiWE16WWpOVmVrNXFSa2RVTTJSd1QwaGtXbVJIVVhsbGJYQkRaRlp2ZGxvd1ZqWmlNbEl4Vkc1T2FtSldjRU5VU0ZVd1kwZDRjbU14WkhaVVYwNTRaRzV2TWxSVlVsQmpiSEJPVkc1VmVsZEZPVzVYYkVwWlUyNWtVbGRZWkZWaVdFWlNUVzF3VFZSSVFraE9XRnBwWVZoak0xUnJXak5OYm04eFpEQk9XbEZzYkhSTmEyaHpaRmRTUTJORVFUQlpWMk01VUZOSmMwbHJiRUpTUTBrMlNXNUZlbHA2U1RGVVZXeFVZekIwYVU5RWFEVmtiRVpzVVZWc2QxbHJWbmxOYW13MVZWaG9UazVzVWpWbFJHaDZZMjFHVkZVeFFubFZXRTVLVGpCMGFXSlZNWGhpUjBwTVlUSTVNRTVVYXpCTE0wVnlWakF4VG1WSE5VcGtSa0pRVld4V1UwOVdVWGhqTVc4eVZraFdlVnA2VGsxV01tUnhVV3Q0ZEdGcVRsUk5hMnN5V2tSV2FtUkdVakZqVm5CUFVrUlNjR0pHUm1GbGFscDRXV2x6Y2xFd1VYcGhSRnBZVmtaU2FVNXVSVFZYYlVaVFpXdHdkVmRZVGpaVGEyaDBWMnhDVlU0elZrWlRSRUpIVlVWa2MwNVlhRFZsUkVwelQwWkNSbE5WY0ZGWFNFWXhaVmMxVEZsVE9VeFdhMGt4V1ROS1Rrd3pXazFpYkhCdFVrUldWRlJHVlhaTmJVazBZbFZzUkV3d2N6UldSV2MxVDBWa05tSXpiM2hXVms1V1ZtMDFiRkZUT1hoUFJVcHpUMGRzU2xaSVJrTkxNVTVFWWtaa05WWnViRmRYVjJRd1RXcG5kMVJWUmpCa1JYQkdZVlYwZFZNeU1VVlpWVTVQV25wa1ExZHFVbE5sUjBaRVlWVTFXbVZwY3pSTE1HTTFVbFZGTlZwRll6UlRSMVoxVFcxb05XTnJkRUpWZWxsM1RETmplbUV4WkdGU1JsWm9ZVVpzZEdWR2JFTlVNblJYVkRCNE5HUXlkRXhaTWxKTlYxZDBWRTB5YUZwaFJsazFVMGR3Y0ZGVk9YaGxhekV6VVZRd09VbHVNRDBpTENKMlpYSnphVzl1SWpvaU15SXNJblI1Y0dVaU9pSkVRVlJCWDB0RldTSXNJbVY0Y0dseVlYUnBiMjRpT2pFM01qRTVOVGMzTmpKOQConsulte mais informações em Amazon ECR public registries no Amazon ECR Public.
-
Para obter detalhes da API, consulte GetAuthorizationToken
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-login-password.
- AWS CLI
-
Exemplo 1: como autenticar o Docker em um registro público do Amazon ECR
O
get-login-passwordexemplo a seguir recupera e exibe um token de autenticação usando a GetAuthorizationToken API que você pode usar para se autenticar em um registro público do Amazon ECR.aws ecr-public get-login-password \ --regionus-east-1|dockerlogin\ --usernameAWS\ --password-stdinpublic.ecr.awsEsse comando não produz nenhuma saída no terminal, mas canaliza a saída para o Docker.
Consulte mais informações em Authenticate to the public registry no Amazon ECR Public.
Exemplo 2: como autenticar o docker em seu próprio registro público personalizado do Amazon ECR
O
get-login-passwordexemplo a seguir recupera e exibe um token de autenticação usando a GetAuthorizationToken API que você pode usar para se autenticar em seu próprio registro público personalizado do Amazon ECR.aws ecr-public get-login-password \ --region us-east-1 \ | docker login \ --username AWS \ --password-stdin public.ecr.aws/<your-public-registry-custom-alias>Esse comando não produz nenhuma saída no terminal, mas canaliza a saída para o Docker.
Consulte mais informações em Authenticate to your own Amazon ECR Public no Amazon ECR Public.
-
Para obter detalhes da API, consulte GetLoginPassword
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-registry-catalog-data.
- AWS CLI
-
Como recuperar metadados do catálogo para um registro público do ECR
O
get-registry-catalog-dataa seguir recupera os metadados do catálogo para um registro público do ECR.aws ecr-public get-registry-catalog-data \ --regionus-east-1Saída:
{ "registryCatalogData": { "displayName": "YourCustomPublicRepositoryalias" } }-
Para obter detalhes da API, consulte GetRegistryCatalogData
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-repository-catalog-data.
- AWS CLI
-
Como recuperar metadados do catálogo para um repositório em um registro público
O exemplo de
get-repository-catalog-dataa seguir lista os metadados do catálogo para o repositórioproject-a/nginx-web-appem um registro público.aws ecr-public get-repository-catalog-data \ --repository-nameproject-a/nginx-web-app\ --regionus-east-1Saída:
{ "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>" } }Consulte mais informações em Repository catalog data no Amazon ECR Public.
-
Para obter detalhes da API, consulte GetRepositoryCatalogData
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-repository-policy.
- AWS CLI
-
Como obter uma política de repositório associada ao repositório
O exemplo de
get-repository-policya seguir obtém uma política de repositório associada ao repositório.aws ecr-public get-repository-policy \ --repository-nameproject-a/nginx-web-app\ --regionus-east-1Saída:
{ "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}" }Para obter mais informações, consulte Usar GetRepositoryPolicy com um AWS SDK ou CLI no Guia do usuário público do Amazon ECR.
-
Para obter detalhes da API, consulte GetRepositoryPolicy
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-tags-for-resource.
- AWS CLI
-
Como listar tags para um repositório público em um registro público
O exemplo de
list-tags-for-resourcea seguir lista as tags de um recurso chamadoproject-a/nginx-web-appem um registro público.aws ecr-public list-tags-for-resource \ --resource-arnarn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app\ --regionus-east-1Saída:
{ "tags": [ { "Key": "Environment", "Value": "Prod" }, { "Key": "stack", "Value": "dev1" }, { "Key": "Name", "Value": "project-a/nginx-web-app" } ] }Consulte mais informações em List tags for a public repository no Guia do usuário do Amazon ECR Public.
-
Para obter detalhes da API, consulte ListTagsForResource
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-registry-catalog-data.
- AWS CLI
-
Como criar ou atualizar metadados do catálogo para um registro público do ECR
O
put-registry-catalog-dataa seguir cria ou atualiza os metadados do catálogo para um registro público do ECR. Somente contas que têm o selo de conta verificada podem ter um nome de exibição do registro.aws ecr-public put-registry-catalog-data \ --regionus-east-1\ --display-name<YourCustomPublicRepositoryalias>Saída:
{ "registryCatalogData": { "displayName": "YourCustomPublicRepositoryalias" } }-
Para obter detalhes da API, consulte PutRegistryCatalogData
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-repository-catalog-data.
- AWS CLI
-
Como criar ou atualizar os dados do catálogo para um repositório em um registro público
O
put-repository-catalog-dataexemplo a seguir cria ou atualiza dados de catálogo para um repositório chamado project-a/ nginx-web-app em um registro público, junto com informações sobre aboutText, usageText e logoImageBlob tags.aws ecr-public put-repository-catalog-data \ --repository-nameproject-a/nginx-web-app\ --cli-input-jsonfile://repository-catalog-data.json\ --regionus-east-1Conteúdo de
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." } }Saída:
{ "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." } }Consulte mais informações em Repository catalog data no Amazon ECR Public.
-
Para obter detalhes da API, consulte PutRepositoryCatalogData
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar set-repository-policy.
- AWS CLI
-
Exemplo 1: como definir uma política de repositório para permitir uma extração no repositório
O exemplo de
set-repository-policya seguir aplica uma política de repositório público do ECR ao repositório especificado para controlar as permissões de acesso.aws ecr-public set-repository-policy \ --repository-nameproject-a/nginx-web-app\ --policy-textfile://my-repository-policy.jsonConteúdo de
my-repository-policy.json:{ "Version" : "2008-10-17", "Statement" : [ { "Sid" : "allow public pull", "Effect" : "Allow", "Principal" : "*", "Action" : [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }Saída:
{ "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}" }Consulte mais informações em Setting a repository policy statement no Guia do usuário do Amazon ECR Public.
Exemplo 2: como definir uma política de repositório para permitir que um usuário do IAM em sua conta envie imagens
O
set-repository-policyexemplo a seguir permite que um usuário do IAM em sua conta envie imagens para um repositório ECR em sua AWS conta usando o arquivo de entrada chamadofile://my-repository-policy.jsontexto de política.aws ecr-public set-repository-policy \ --repository-nameproject-a/nginx-web-app\ --policy-textfile://my-repository-policy.jsonConteúdo de
my-repository-policy.json:{ "Version": "2008-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" ] } ] }Saída:
{ "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}" }Consulte mais informações em Setting a repository policy statement no Guia do usuário do Amazon ECR Public.
Exemplo 3: como definir uma política de repositório para permitir que um usuário do IAM de uma conta diferente envie imagens
O
set-repository-policyexemplo a seguir permite que uma conta específica envie imagens usando o arquivo de entrada cli://my-repository-policy.json em sua conta. AWSaws ecr-public set-repository-policy \ --repository-nameproject-a/nginx-web-app\ --policy-textfile://my-repository-policy.jsonConteúdo de
my-repository-policy.json:{ "Version": "2008-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" ] } ] }Saída:
{ "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}" }Consulte mais informações em Public repository policy examples no Guia do usuário do Amazon ECR Public.
-
Para obter detalhes da API, consulte SetRepositoryPolicy
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar tag-resource.
- AWS CLI
-
Exemplo 1: como marcar um repositório público existente em um registro público
O exemplo de
tag-resourcea seguir cria um repositório chamadoproject-a/nginx-web-appem um registro público.aws ecr-public tag-resource \ --resource-arnarn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app\ --tagsKey=stack,Value=dev\ --regionus-east-1Consulte mais informações em Using Tags for a public repository no Amazon ECR Public.
Exemplo 2: como marcar um repositório público existente com várias tags em um registro público
O exemplo de
tag-resourcea seguir marca um repositório existente com várias tags.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-1Consulte mais informações em Using Tags for a public repository no Amazon ECR Public.
-
Para obter detalhes da API, consulte TagResource
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar untag-resource.
- AWS CLI
-
Exemplo 1: como desmarcar um repositório público existente em um registro público
O exemplo de
untag-resourcea seguir cria um repositório chamadoproject-a/nginx-web-appem um registro público.aws ecr-public untag-resource \ --resource-arnarn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app\ --tag-keysstack\ --regionus-east-1Este comando não produz saída.
Consulte mais informações em Using Tags for a public repository no Amazon ECR Public.
-
Para obter detalhes da API, consulte UntagResource
em Referência de AWS CLI Comandos.
-