Beispiele für die Verwendung der AWS CLI mit Amazon ECR Public - AWS Command Line Interface

Beispiele für die Verwendung der AWS CLI mit Amazon ECR Public

Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie die AWS Command Line Interface mit Amazon ECR Public nutzen.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anleitungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt, wie batch-delete-image verwendet wird.

AWS CLI

Beispiel 1: Sie löschen ein Image mithilfe von Image-Digest-IDs, indem das Image und alle zugehörigen Tags innerhalb eines Repositorys in einem öffentlichen Registry gelöscht werden.

Im folgenden batch-delete-image-Beispiel wird ein Image gelöscht, indem der Image-Digest angegeben wird.

aws ecr-public batch-delete-image \ --repository-name project-a/nginx-web-app \ --image-ids imageDigest=sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2

Ausgabe:

{ "imageIds": [ { "imageDigest": "sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2", "imageTag": "latest" } ], "failures": [] }

Weitere Informationen finden Sie unter Löschen eines Image in einem öffentlichen Repository im Benutzerhandbuch zu Amazon ECR Public.

Beispiel 2: Sie löschen ein beliebiges Image, indem Sie das Tag angeben, das dem Image zugeordnet ist, das Sie aus dem Repository löschen möchten.

Im folgenden batch-delete-image-Beispiel wird ein Image gelöscht, indem das Tag angegeben wird, das mit dem Image-Repository namens project-a/nginx-web-app in einem öffentlichen Registry verknüpft ist. Wenn Sie nur ein Tag vorliegen haben und diesen Befehl ausführen, wird das Image entfernt. Haben Sie hingegen mehrere Tags für dasselbe Image vorliegen, geben Sie ein Tag an, sodass nur das Tag und nicht das Image aus dem Repository entfernt wird.

aws ecr-public batch-delete-image \ --repository-name project-a/nginx-web-app \ --image-ids imageTag=_temp

Ausgabe:

{ "imageIds": [ { "imageDigest": "sha256:f7a86a0760e2f8d7eff07e515fc87bf4bac45c35376c06f9a280f15ecad6d7e0", "imageTag": "_temp" } ], "failures": [] }

Weitere Informationen finden Sie unter Löschen eines Image in einem öffentlichen Repository im Benutzerhandbuch zu Amazon ECR Public.

Beispiel 3: Zum Löschen mehrerer Images können Sie mehrere Image-Tags oder Image-Digests in der Anforderung für ein Repository in einem öffentlichen Registry angeben.

Im folgenden batch-delete-image-Beispiel werden mehrere Images aus einem Repository mit dem Namen project-a/nginx-web-app gelöscht, indem in der Anforderung mehrere Image-Tags oder Image-Digests angegeben werden.

aws ecr-public batch-delete-image \ --repository-name project-a/nginx-web-app \ --image-ids imageTag=temp2.0 imageDigest=sha256:47ba980bc055353d9c0af89b1894f68faa43ca93856917b8406316be86f01278

Ausgabe:

{ "imageIds": [ { "imageDigest": "sha256:47ba980bc055353d9c0af89b1894f68faa43ca93856917b8406316be86f01278" }, { "imageDigest": "sha256:f7a86a0760e2f8d7eff07e515fc87bf4bac45c35376c06f9a280f15ecad6d7e0", "imageTag": "temp2.0" } ], "failures": [] }

Weitere Informationen finden Sie unter Löschen eines Image in einem öffentlichen Repository im Benutzerhandbuch zu Amazon ECR Public.

Beispiel 4: Zum Löschen eines Image über AWS-Konten hinweg mit registry-id und imagedigest ids werden das Image und alle zugehörigen Tags innerhalb eines Repositorys in einem öffentlichen Registry gelöscht.

Im folgenden batch-delete-image-Beispiel wird ein Image gelöscht, indem der Image-Digest über das AWS-Konto hinweg angegeben wird.

aws ecr-public batch-delete-image \ --registry-id 123456789098 \ --repository-name project-a/nginx-web-app \ --image-ids imageDigest=sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2 \ --region us-east-1

Ausgabe:

{ "imageIds": [ { "imageDigest": "sha256:b1f9deb5fe3711a3278379ebbcaefbc5d70a2263135db86bd27a0dae150546c2", "imageTag": "temp2.0" } ], "failures": [] }

Weitere Informationen finden Sie unter Löschen eines Image in einem öffentlichen Repository im Benutzerhandbuch zu Amazon ECR Public.

Das folgende Codebeispiel zeigt, wie create-repository verwendet wird.

AWS CLI

Beispiel 1: So erstellen Sie ein Repository in einem öffentlichen Registry

Das folgende create-repository-Beispiel erstellt ein Repository mit dem Namen project-a/nginx-web-app in einem öffentlichen Registry.

aws ecr-public create-repository \ --repository-name project-a/nginx-web-app

Ausgabe:

{ "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": {} }

Weitere Informationen finden Sie unter Erstellen eines öffentlichen Repositorys im Benutzerhandbuch zu Amazon ECR Public.

Beispiel 2: So erstellen Sie ein Repository in einem öffentlichen Registry mit einer kurzen Beschreibung des Inhalts des Repositorys sowie der System- und Betriebsarchitektur, mit der die Images im Repository kompatibel sind

Im folgenden create-repository-Beispiel wird ein Repository mit dem Namen project-a/nginx-web-app in einem öffentlichen Registry mit einer kurzen Beschreibung des Inhalts des Repositorys sowie der System- und Betriebsarchitektur, mit der die Images im Repository kompatibel sind, erstellt.

aws ecr-public create-repository \ --repository-name project-a/nginx-web-app \ --catalog-data 'description=My project-a ECR Public Repository,architectures=ARM,ARM 64,x86,x86-64,operatingSystems=Linux'

Ausgabe:

{ "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" ] } }

Weitere Informationen finden Sie unter Erstellen eines öffentlichen Repositorys im Benutzerhandbuch zu Amazon ECR Public.

Beispiel 3: So erstellen Sie ein Repository in einer öffentlichen Registry zusammen mit logoImageBlob-, aboutText-, usageText- und Tag-Informationen

Im folgenden create-repository-Beispiel wird ein Repository mit dem Namen project-a/nginx-web-app in einem öffentlichen Registry zusammen mit logoImageBlob-, aboutText-, usageText- und Tag-Informationen erstellt.

aws ecr-public create-repository \ --cli-input-json file://myfile.json

Inhalt von 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" } ] }

Ausgabe:

{ "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." } }

Weitere Informationen finden Sie unter Erstellen eines öffentlichen Repositorys im Benutzerhandbuch zu Amazon ECR Public und Repository-Katalogdaten im Benutzerhandbuch zu Amazon ECR Public.

Das folgende Codebeispiel zeigt, wie delete-repository-policy verwendet wird.

AWS CLI

So löschen Sie eine Repository-Richtlinie in einem öffentlichen Registry

Im folgenden delete-repository-policy-Beispiel wird die Repository-Richtlinie für das ECR Public Repository in Ihrem AWS-Konto gelöscht.

aws ecr-public delete-repository-policy \ --repository-name project-a/nginx-web-app \ --region us-east-1

Ausgabe:

{ "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}" }

Weitere Informationen finden Sie unter Löschen einer Richtlinienanweisung eines öffentlichen Repositorys im Benutzerhandbuch zu Amazon ECR Public.

Das folgende Codebeispiel zeigt, wie delete-repository verwendet wird.

AWS CLI

So löschen Sie ein Repository in einem öffentlichen Registry

Im folgenden delete-repository-Beispiel wird ein Repository mit dem Namen project-a/nginx-web-app aus Ihrem öffentlichen Registry gelöscht.

aws ecr-public delete-repository \ --repository-name project-a/nginx-web-app

Ausgabe:

{ "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" } }

Weitere Informationen finden Sie unter Löschen eines öffentlichen Repositorys im Benutzerhandbuch zu Amazon ECR Public.

Das folgende Codebeispiel zeigt, wie describe-image-tags verwendet wird.

AWS CLI

Beispiel 1: So beschreiben Sie die Details von Image-Tags im öffentlichen Repository

Das folgende describe-image-tags-Beispiel beschreibt imagetags im Beispiel-Repository project-a/nginx-web-app.

aws ecr-public describe-image-tags \ --repository-name project-a/nginx-web-app \ --region us-east-1

Ausgabe:

{ "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" } } ] }

Das folgende Codebeispiel zeigt, wie describe-images verwendet wird.

AWS CLI

Beispiel 1: So beschreiben Sie Images in einem Repository eines öffentlichen Registrys

Das folgende describe-images-Beispiel beschreibt imagesDetails in einem Repository mit dem Namen project-a/nginx-web-app eines öffentlichen Registrys.

aws ecr-public describe-images \ --repository-name project-a/nginx-web-app \ --region us-east-1

Ausgabe:

{ "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" } ] }

Weitere Informationen finden Sie unter Beschreiben eines Image in einem öffentlichen Repository im Benutzerhandbuch zu Amazon ECR Public.

Beispiel 2: So beschreiben Sie Images im Repository, indem Sie imageTags und imagePushedAt sortieren

Das folgende describe-images-Beispiel beschreibt Images innerhalb eines Repositorys mit dem Namen project-a/nginx-web-app in einem öffentlichen Registry.

aws ecr-public describe-images \ --repository-name project-a/nginx-web-app \ --query 'sort_by(imageDetails,& imagePushedAt)[*].imageTags[*]' \ --output text

Ausgabe:

temp3.0 latest temp1.0 temp2.0

Beispiel 3: So beschreiben Sie Images im Repository, um die letzten 2 Image-Tags zu generieren, die in das Repository übertragen wurden

Im folgenden describe-images-Beispiel werden die Details zu den imagetags aus dem Repository mit dem Namen project-a/nginx-web-app in einem öffentlichen Registry abgerufen und das Ergebnis abgefragt, sodass nur die ersten beiden Datensätze angezeigt werden.

aws ecr-public describe-images \ --repository-name project-a/nginx-web-app \ --query 'sort_by(imageDetails,& imagePushedAt)[*].imageTags[*] | [0:2]' \ --output text

Ausgabe:

temp3.0 latest temp1.0
  • API-Details finden Sie unter DescribeImages in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie describe-registries verwendet wird.

AWS CLI

So beschreiben Sie alle Registrys in einem öffentlichen Registry

Das folgende describe-registries-Beispiel beschreibt alle Registrys in Ihrem Konto.

aws ecr-public describe-registries

Ausgabe:

{ "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 } ] } ] }

Das folgende Codebeispiel zeigt, wie describe-repository verwendet wird.

AWS CLI

Beispiel 1: So beschreiben Sie ein Repository in einem öffentlichen Registry

Das folgende describe-repositories-Beispiel beschreibt ein Repository mit dem Namen project-a/nginx-web-app in einem öffentlichen Registry.

aws ecr-public describe-repositories \ --repository-name project-a/nginx-web-app

Ausgabe:

{ "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" } ] }

Beispiel 2: So beschreiben Sie alle Repositorys in einem öffentlichen Registry einer Tabelle

Das folgende describe-repositories-Beispiel beschreibt alle Repositorys in einem öffentlichen Registry und gibt dann die Repository-Namen in einem Tabellenformat aus.

aws ecr-public describe-repositories \ --region us-east-1 \ --output table \ --query "repositories[*].repositoryName"

Ausgabe:

----------------------------- | DescribeRepositories | +---------------------------+ | project-a/nginx-web-app | | nginx | | myfirstrepo1 | | helm-test-chart | | test-ecr-public | | nginx-web-app | | sample-repo | +---------------------------+

Das folgende Codebeispiel zeigt, wie get-authorization-token verwendet wird.

AWS CLI

Beispiel 1: So rufen Sie ein Autorisierungstoken für ein öffentliches Amazon ECR-Registry ab, auf das der IAM-Prinzipal Zugriff hat

Im folgenden get-authorization-token-Beispiel wird ein Autorisierungstoken mit der AWS CLI abgerufen und auf eine Umgebungsvariable festgelegt.

aws ecr-public get-authorization-token \ --region us-east-1

Ausgabe:

{ "authorizationData": { "authorizationToken": "QVdTOmV5SndZWGxzYjJKJFHDSFKJHERWUY65IOU36TRYEGFNSDLRIUOTUYTHJKLDFGOcmFUQk9OSFV2UVV4a0x6Sm1ZV0Z6TDFndlZtUjJSVmgxVEVObU9IZEdTWEZxU210c1JUQm5RWGxOUVV4NlNFUnROWG92ZWtGbWJFUjRkbWMyV0U5amFpczRNWGxTVkM5Tk5qWkVUM2RDYm05TVJqSkxjV3BsUVZvMmFYSm5iV1ZvVFdGSVRqVlFMMHN4VnpsTGVXbDFRWGRoTmpsbWFuQllhbVl6TkdGaGMwUjJha2xsYUhscWRscHZTRUpFVkVnNVQwNUdOVFpPY2xZclVFNVFVWGRSVFZvd04xUkhjVGxZZFVkQ1ZFZHBPRUptUzBVclYxQldMMjVMVkRsd2VFVlNSa1EzTWpWSlIxRkVWakJGZFZOVWEzaFBSVk5FWWpSc1lWZHZWMHBSYmxaMlJYWmhZekpaWVVOeFppdFlUa2xKU1RCdFUwdElVbXRJYlhGRk1WaFhNVTVRTkdwc1FYRlVNVWxZZUhkV05Xa3ZXWGd3ZUVZMWIyeE5VRU5QZEdSaWRHOU9lakZOZVdwTVZEUkNRVzlvYzNKSlpsRXhhR2cwWjJwRVJFVjNWalEzYjNCUmRIcEZUR1pYU1Rsc1kxSlNNbU5hUW5wRE1tOUpRMHR5Y1hkeGNXNDVMMmx4Um5GUlVGQnhjMVpQZG5WYUswOW9SQ3RPY0hwSlRsUk5lVXQyY0c1b1FsQjVZVEprVmtSdmJsQklOM05RU3pkNmQydERhMkZ5VmxSRmFVUndWVlE1ZGtsVWFXUkJWMFZEWVhoSFdXTk5VMXBTYTFreVRHZEVlVVZ0ZFRWRk4xTTVjRXBDUjBRMlYyTkdPVWhGWkVweVVGcEVaRFJxZUVablkwNXFaamh5YkVKWmJGSTNOVzFXSzFjdllXSTVTMWx2YUZacksxSnJWSFJ0Wml0T1NFSnpWVFZvV204eVFYbzFWRU5SYjNaR01Va3hPR3h2TWxkNVJsSmpUbTVSTjNjemJsUkdVRlZKVDBjeE9VeHlXVEpGVFRSS2NWbFdkVEJrV0VreFVsSktXbkpCVGtsMFdVZEJOMjltWjFFNGVHRktNbGRuWlVoUlNXNXdZV3A0VjI5M2FYZGljbE5tZGpkQ1ZYTmhOVFUyTDBzeVpteDBka0pUTVdkNGJ6TkxkSEJDYml0cE0waGhTbVpEZEZkQ00yOU1TM1pXTDNSVFlWaFpWelZXVWxjNFRXNXdhR3BhUmpoU1FuWnFkRlJMVW5abGRYRlNjVVJKZDBaSFpXUTRabEZUTUdOTVQwcFFkVXAyYjA5Tk9UaFlZMjEwVnpFMlpXdE9hMnBWV0hST1owUkpVV3R1VFU1dGJXWjNNVGc0VTAxUlNHZE9TbXRMY2tWYWJVeFljVVk0ZWpsTFdWWlRNbEZMVDJkMk1FaFBTMDl5YzJSM1NqTlplRGhUWVVOQlJGWnRlbkU1WTBKVFdqTktSR05WTkd0RGNEVjZNalJHVXpkVk9HTnVSa2xLUVd4SVJDODJXbGcyYldGemJVczJPRVp6TDBoNFMwWkRUMmdyYldGa1QwWjVhMlZQTm5SQ1l6QkpNbFpyVUhSaGVIbFVOR296VjFGVlQyMHpNeTlPWVVoSk1FdDBWalZFU2pneU5rcHNLemQxZDNwcVp6RlNja3AwVm10VU0yRnRWWGMzZDJnMFduSnFjVXczWTBjclNXeHFUVlUyVkZwWGNWY3ZSV0V6WW1oT2JIRklZVlJHU1RrMGEyOVJiMHBPVUhORk9FdERjbFJZY0daS2VVdHRZa2x5YjFORE4zSkJaWEJPZUU5eGR6WnhZMlY1WXprM1JtSkZhVFZFYkVFck5EUk9ZMWRyVEVNd1dqa2lMQ0prWVhSaGEyVjVJam9pWlhsS1VWSkdaMmxQYVVwV1ZXeENhVk5YVm14WFdFWk5VMjFrV21SRE9YaGFhWFF4VkhwS1MyTkljSHBVUms0MFlWaHNTbUpIYUhsWFZHdDZZVWhqZDFKRmFETldNbFYyWTJ0cmVVMUlTbHBWUjJONFRURlJNMDlHYUd4U01uaHVWRVJzUWxaV1pGZFJibkJLV1RCYU5HTXpUakpXTUhoWFRrWndhRTVyTVVwVFZFSkdWV3RzTUZaVVpEQlRSVGxyVkVkb2FGUlVVWHBaTVhCSFQxWmFOVlJxU20xaVZXUnVTM3BaTlZaV2NIcFdWMlJGVkcwMVRHSXdSakpXUnpoNlVsUm5kbUpzUmpGT2FUazFWVzFTY0dWR1FtOVdiVEZoVmpKc1NWRllhRmRTUkZwc1V6SkdSbUpWYkhCVlNFbDJWVzB4Ym1OVk1IWmFhelZ3WkZoa1FtVnFUa3BpTTJoTVRWVk9jMVo2V2t4aWJFWnJWRVUxVW1ONlp6QldWVFZPWW14c01sZFlZekprUjFwVFkxaE9kRnBXWkhaVFZWcGhWa2MxU2xWRlVtdFRiWE16WWpOVmVrNXFSa2RVTTJSd1QwaGtXbVJIVVhsbGJYQkRaRlp2ZGxvd1ZqWmlNbEl4Vkc1T2FtSldjRU5VU0ZVd1kwZDRjbU14WkhaVVYwNTRaRzV2TWxSVlVsQmpiSEJPVkc1VmVsZEZPVzVYYkVwWlUyNWtVbGRZWkZWaVdFWlNUVzF3VFZSSVFraE9XRnBwWVZoak0xUnJXak5OYm04eFpEQk9XbEZzYkhSTmEyaHpaRmRTUTJORVFUQlpWMk01VUZOSmMwbHJiRUpTUTBrMlNXNUZlbHA2U1RGVVZXeFVZekIwYVU5RWFEVmtiRVpzVVZWc2QxbHJWbmxOYW13MVZWaG9UazVzVWpWbFJHaDZZMjFHVkZVeFFubFZXRTVLVGpCMGFXSlZNWGhpUjBwTVlUSTVNRTVVYXpCTE0wVnlWakF4VG1WSE5VcGtSa0pRVld4V1UwOVdVWGhqTVc4eVZraFdlVnA2VGsxV01tUnhVV3Q0ZEdGcVRsUk5hMnN5V2tSV2FtUkdVakZqVm5CUFVrUlNjR0pHUm1GbGFscDRXV2x6Y2xFd1VYcGhSRnBZVmtaU2FVNXVSVFZYYlVaVFpXdHdkVmRZVGpaVGEyaDBWMnhDVlU0elZrWlRSRUpIVlVWa2MwNVlhRFZsUkVwelQwWkNSbE5WY0ZGWFNFWXhaVmMxVEZsVE9VeFdhMGt4V1ROS1Rrd3pXazFpYkhCdFVrUldWRlJHVlhaTmJVazBZbFZzUkV3d2N6UldSV2MxVDBWa05tSXpiM2hXVms1V1ZtMDFiRkZUT1hoUFJVcHpUMGRzU2xaSVJrTkxNVTVFWWtaa05WWnViRmRYVjJRd1RXcG5kMVJWUmpCa1JYQkdZVlYwZFZNeU1VVlpWVTVQV25wa1ExZHFVbE5sUjBaRVlWVTFXbVZwY3pSTE1HTTFVbFZGTlZwRll6UlRSMVoxVFcxb05XTnJkRUpWZWxsM1RETmplbUV4WkdGU1JsWm9ZVVpzZEdWR2JFTlVNblJYVkRCNE5HUXlkRXhaTWxKTlYxZDBWRTB5YUZwaFJsazFVMGR3Y0ZGVk9YaGxhekV6VVZRd09VbHVNRDBpTENKMlpYSnphVzl1SWpvaU15SXNJblI1Y0dVaU9pSkVRVlJCWDB0RldTSXNJbVY0Y0dseVlYUnBiMjRpT2pFM01qRTVOVGMzTmpKOQ==", "expiresAt": "2024-07-25T21:37:26.301000-04:00" } }

Weitere Informationen finden Sie unter Öffentliche Amazon-ECR-Registrys im Benutzerhandbuch zu Amazon ECR Public.

Beispiel 2: So rufen Sie ein Autorisierungstoken für ein öffentliches Amazon ECR-Registry ab, auf das der IAM-Prinzipal Zugriff hat

Im folgenden get-authorization-token-Beispiel wird ein Autorisierungstoken mit der AWS CLI abgerufen und auf eine Umgebungsvariable festgelegt.

aws ecr-public get-authorization-token \ --region us-east-1 \ --output=text \ --query 'authorizationData.authorizationToken'

Ausgabe:

QVdTOmV5SndZWGxzYjJKJFHDSFKJHERWUY65IOU36TRYEGFNSDLRIUOTUYTHJKLDFGOcmFUQk9OSFV2UVV4a0x6Sm1ZV0Z6TDFndlZtUjJSVmgxVEVObU9IZEdTWEZxU210c1JUQm5RWGxOUVV4NlNFUnROWG92ZWtGbWJFUjRkbWMyV0U5amFpczRNWGxTVkM5Tk5qWkVUM2RDYm05TVJqSkxjV3BsUVZvMmFYSm5iV1ZvVFdGSVRqVlFMMHN4VnpsTGVXbDFRWGRoTmpsbWFuQllhbVl6TkdGaGMwUjJha2xsYUhscWRscHZTRUpFVkVnNVQwNUdOVFpPY2xZclVFNVFVWGRSVFZvd04xUkhjVGxZZFVkQ1ZFZHBPRUptUzBVclYxQldMMjVMVkRsd2VFVlNSa1EzTWpWSlIxRkVWakJGZFZOVWEzaFBSVk5FWWpSc1lWZHZWMHBSYmxaMlJYWmhZekpaWVVOeFppdFlUa2xKU1RCdFUwdElVbXRJYlhGRk1WaFhNVTVRTkdwc1FYRlVNVWxZZUhkV05Xa3ZXWGd3ZUVZMWIyeE5VRU5QZEdSaWRHOU9lakZOZVdwTVZEUkNRVzlvYzNKSlpsRXhhR2cwWjJwRVJFVjNWalEzYjNCUmRIcEZUR1pYU1Rsc1kxSlNNbU5hUW5wRE1tOUpRMHR5Y1hkeGNXNDVMMmx4Um5GUlVGQnhjMVpQZG5WYUswOW9SQ3RPY0hwSlRsUk5lVXQyY0c1b1FsQjVZVEprVmtSdmJsQklOM05RU3pkNmQydERhMkZ5VmxSRmFVUndWVlE1ZGtsVWFXUkJWMFZEWVhoSFdXTk5VMXBTYTFreVRHZEVlVVZ0ZFRWRk4xTTVjRXBDUjBRMlYyTkdPVWhGWkVweVVGcEVaRFJxZUVablkwNXFaamh5YkVKWmJGSTNOVzFXSzFjdllXSTVTMWx2YUZacksxSnJWSFJ0Wml0T1NFSnpWVFZvV204eVFYbzFWRU5SYjNaR01Va3hPR3h2TWxkNVJsSmpUbTVSTjNjemJsUkdVRlZKVDBjeE9VeHlXVEpGVFRSS2NWbFdkVEJrV0VreFVsSktXbkpCVGtsMFdVZEJOMjltWjFFNGVHRktNbGRuWlVoUlNXNXdZV3A0VjI5M2FYZGljbE5tZGpkQ1ZYTmhOVFUyTDBzeVpteDBka0pUTVdkNGJ6TkxkSEJDYml0cE0waGhTbVpEZEZkQ00yOU1TM1pXTDNSVFlWaFpWelZXVWxjNFRXNXdhR3BhUmpoU1FuWnFkRlJMVW5abGRYRlNjVVJKZDBaSFpXUTRabEZUTUdOTVQwcFFkVXAyYjA5Tk9UaFlZMjEwVnpFMlpXdE9hMnBWV0hST1owUkpVV3R1VFU1dGJXWjNNVGc0VTAxUlNHZE9TbXRMY2tWYWJVeFljVVk0ZWpsTFdWWlRNbEZMVDJkMk1FaFBTMDl5YzJSM1NqTlplRGhUWVVOQlJGWnRlbkU1WTBKVFdqTktSR05WTkd0RGNEVjZNalJHVXpkVk9HTnVSa2xLUVd4SVJDODJXbGcyYldGemJVczJPRVp6TDBoNFMwWkRUMmdyYldGa1QwWjVhMlZQTm5SQ1l6QkpNbFpyVUhSaGVIbFVOR296VjFGVlQyMHpNeTlPWVVoSk1FdDBWalZFU2pneU5rcHNLemQxZDNwcVp6RlNja3AwVm10VU0yRnRWWGMzZDJnMFduSnFjVXczWTBjclNXeHFUVlUyVkZwWGNWY3ZSV0V6WW1oT2JIRklZVlJHU1RrMGEyOVJiMHBPVUhORk9FdERjbFJZY0daS2VVdHRZa2x5YjFORE4zSkJaWEJPZUU5eGR6WnhZMlY1WXprM1JtSkZhVFZFYkVFck5EUk9ZMWRyVEVNd1dqa2lMQ0prWVhSaGEyVjVJam9pWlhsS1VWSkdaMmxQYVVwV1ZXeENhVk5YVm14WFdFWk5VMjFrV21SRE9YaGFhWFF4VkhwS1MyTkljSHBVUms0MFlWaHNTbUpIYUhsWFZHdDZZVWhqZDFKRmFETldNbFYyWTJ0cmVVMUlTbHBWUjJONFRURlJNMDlHYUd4U01uaHVWRVJzUWxaV1pGZFJibkJLV1RCYU5HTXpUakpXTUhoWFRrWndhRTVyTVVwVFZFSkdWV3RzTUZaVVpEQlRSVGxyVkVkb2FGUlVVWHBaTVhCSFQxWmFOVlJxU20xaVZXUnVTM3BaTlZaV2NIcFdWMlJGVkcwMVRHSXdSakpXUnpoNlVsUm5kbUpzUmpGT2FUazFWVzFTY0dWR1FtOVdiVEZoVmpKc1NWRllhRmRTUkZwc1V6SkdSbUpWYkhCVlNFbDJWVzB4Ym1OVk1IWmFhelZ3WkZoa1FtVnFUa3BpTTJoTVRWVk9jMVo2V2t4aWJFWnJWRVUxVW1ONlp6QldWVFZPWW14c01sZFlZekprUjFwVFkxaE9kRnBXWkhaVFZWcGhWa2MxU2xWRlVtdFRiWE16WWpOVmVrNXFSa2RVTTJSd1QwaGtXbVJIVVhsbGJYQkRaRlp2ZGxvd1ZqWmlNbEl4Vkc1T2FtSldjRU5VU0ZVd1kwZDRjbU14WkhaVVYwNTRaRzV2TWxSVlVsQmpiSEJPVkc1VmVsZEZPVzVYYkVwWlUyNWtVbGRZWkZWaVdFWlNUVzF3VFZSSVFraE9XRnBwWVZoak0xUnJXak5OYm04eFpEQk9XbEZzYkhSTmEyaHpaRmRTUTJORVFUQlpWMk01VUZOSmMwbHJiRUpTUTBrMlNXNUZlbHA2U1RGVVZXeFVZekIwYVU5RWFEVmtiRVpzVVZWc2QxbHJWbmxOYW13MVZWaG9UazVzVWpWbFJHaDZZMjFHVkZVeFFubFZXRTVLVGpCMGFXSlZNWGhpUjBwTVlUSTVNRTVVYXpCTE0wVnlWakF4VG1WSE5VcGtSa0pRVld4V1UwOVdVWGhqTVc4eVZraFdlVnA2VGsxV01tUnhVV3Q0ZEdGcVRsUk5hMnN5V2tSV2FtUkdVakZqVm5CUFVrUlNjR0pHUm1GbGFscDRXV2x6Y2xFd1VYcGhSRnBZVmtaU2FVNXVSVFZYYlVaVFpXdHdkVmRZVGpaVGEyaDBWMnhDVlU0elZrWlRSRUpIVlVWa2MwNVlhRFZsUkVwelQwWkNSbE5WY0ZGWFNFWXhaVmMxVEZsVE9VeFdhMGt4V1ROS1Rrd3pXazFpYkhCdFVrUldWRlJHVlhaTmJVazBZbFZzUkV3d2N6UldSV2MxVDBWa05tSXpiM2hXVms1V1ZtMDFiRkZUT1hoUFJVcHpUMGRzU2xaSVJrTkxNVTVFWWtaa05WWnViRmRYVjJRd1RXcG5kMVJWUmpCa1JYQkdZVlYwZFZNeU1VVlpWVTVQV25wa1ExZHFVbE5sUjBaRVlWVTFXbVZwY3pSTE1HTTFVbFZGTlZwRll6UlRSMVoxVFcxb05XTnJkRUpWZWxsM1RETmplbUV4WkdGU1JsWm9ZVVpzZEdWR2JFTlVNblJYVkRCNE5HUXlkRXhaTWxKTlYxZDBWRTB5YUZwaFJsazFVMGR3Y0ZGVk9YaGxhekV6VVZRd09VbHVNRDBpTENKMlpYSnphVzl1SWpvaU15SXNJblI1Y0dVaU9pSkVRVlJCWDB0RldTSXNJbVY0Y0dseVlYUnBiMjRpT2pFM01qRTVOVGMzTmpKOQ

Weitere Informationen finden Sie unter Öffentliche Amazon-ECR-Registrys im Benutzerhandbuch zu Amazon ECR Public.

Das folgende Codebeispiel zeigt, wie get-login-password verwendet wird.

AWS CLI

Beispiel 1: So authentifizieren Sie Docker bei einem öffentlichen Amazon ECR-Registry

Im folgenden get-login-password-Beispiel wird mithilfe der GetAuthorizationToken-API ein Authentifizierungstoken abgerufen und angezeigt, mit dem Sie sich bei einem öffentlichen Amazon-ECR-Registry authentifizieren können.

aws ecr-public get-login-password \ --region us-east-1 | docker login \ --username AWS \ --password-stdin public.ecr.aws

Dieser Befehl erzeugt keine Ausgabe im Terminal, sondern leitet die Ausgabe stattdessen an Docker weiter.

Weitere Informationen finden Sie unter Authentifizieren bei der öffentlichen Registry im Benutzerhandbuch zu Amazon ECR Public.

Beispiel 2: So authentifizieren Sie Docker bei Ihrer eigenen benutzerdefinierten öffentlichen Registry von Amazon ECR

Im folgenden get-login-password-Beispiel wird mithilfe der GetAuthorizationToken-API ein Authentifizierungstoken abgerufen und angezeigt, mit dem Sie sich bei Ihrem eigenen benutzerdefinierten öffentlichen Amazon-ECR-Registry authentifizieren können.

aws ecr-public get-login-password \ --region us-east-1 \ | docker login \ --username AWS \ --password-stdin public.ecr.aws/<your-public-registry-custom-alias>

Dieser Befehl erzeugt keine Ausgabe im Terminal, sondern leitet die Ausgabe stattdessen an Docker weiter.

Weitere Informationen finden Sie unter Authentifizieren bei Ihrer eigenen Amazon ECR Public im Benutzerhandbuch zu Amazon ECR Public.

Das folgende Codebeispiel zeigt, wie get-registry-catalog-data verwendet wird.

AWS CLI

So rufen Sie Katalogmetadaten für ein öffentliches ECR-Registry ab

Im folgenden get-registry-catalog-data-Beispiel werden Katalogmetadaten für ein öffentliches ECR-Registry abgerufen.

aws ecr-public get-registry-catalog-data \ --region us-east-1

Ausgabe:

{ "registryCatalogData": { "displayName": "YourCustomPublicRepositoryalias" } }

Das folgende Codebeispiel zeigt, wie get-repository-catalog-data verwendet wird.

AWS CLI

So rufen Sie Katalogmetadaten für ein Repository in einem öffentlichen Registry ab

Im folgenden get-repository-catalog-data-Beispiel werden die Katalogmetadaten für das Repository project-a/nginx-web-app in einem öffentlichen Registry aufgeführt.

aws ecr-public get-repository-catalog-data \ --repository-name project-a/nginx-web-app \ --region us-east-1

Ausgabe:

{ "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>" } }

Weitere Informationen finden Sie unter Repository-Katalogdaten im Benutzerhandbuch zu Amazon ECR Public.

Das folgende Codebeispiel zeigt, wie get-repository-policy verwendet wird.

AWS CLI

So rufen Sie eine dem Repository zugeordnete Repository-Richtlinie ab

Im folgenden get-repository-policy-Beispiel wird eine Repository-Richtlinie abgerufen, die dem Repository zugeordnet ist.

aws ecr-public get-repository-policy \ --repository-name project-a/nginx-web-app \ --region us-east-1

Ausgabe:

{ "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}" }

Weitere Informationen finden Sie unter Verwenden von GetRepositoryPolicy mit einem AWS SDK oder einer CLI im Benutzerhandbuch zu Amazon ECR Public.

Das folgende Codebeispiel zeigt, wie list-tags-for-resource verwendet wird.

AWS CLI

So listen Sie Tags für ein öffentliches Repository in einem öffentlichen Registry auf

Das folgende list-tags-for-resource-Beispiel listet die Tags für eine Ressource mit dem Namen project-a/nginx-web-app in einem öffentlichen Registry auf.

aws ecr-public list-tags-for-resource \ --resource-arn arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app \ --region us-east-1

Ausgabe:

{ "tags": [ { "Key": "Environment", "Value": "Prod" }, { "Key": "stack", "Value": "dev1" }, { "Key": "Name", "Value": "project-a/nginx-web-app" } ] }

Weitere Informationen finden Sie unter Auflisten von Tags für ein öffentliches Repository im Benutzerhandbuch zu Amazon ECR Public.

Das folgende Codebeispiel zeigt, wie put-registry-catalog-data verwendet wird.

AWS CLI

So erstellen oder aktualisieren Sie Katalogmetadaten für ein öffentliches ECR-Registry

Im folgenden put-registry-catalog-data-Beispiel werden Katalogmetadaten für ein öffentliches ECR-Registry erstellt oder aktualisiert. Nur Konten, die über das Badge „verifiziertes Konto“ verfügen, können einen Anzeigenamen für das Registry aufweisen.

aws ecr-public put-registry-catalog-data \ --region us-east-1 \ --display-name <YourCustomPublicRepositoryalias>

Ausgabe:

{ "registryCatalogData": { "displayName": "YourCustomPublicRepositoryalias" } }

Das folgende Codebeispiel zeigt, wie put-repository-catalog-data verwendet wird.

AWS CLI

So erstellen oder aktualisieren Sie die Katalogdaten für ein Repository in einem öffentlichen Registry

Im folgenden put-repository-catalog-data-Beispiel werden Katalogdaten für ein Repository mit dem Namen project-a/nginx-web-app in einem öffentlichen Registry zusammen mit logoImageBlob-, aboutText-, usageText- und Tag-Informationen erstellt oder aktualisiert.

aws ecr-public put-repository-catalog-data \ --repository-name project-a/nginx-web-app \ --cli-input-json file://repository-catalog-data.json \ --region us-east-1

Inhalt von 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." } }

Ausgabe:

{ "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." } }

Weitere Informationen finden Sie unter Repository-Katalogdaten im Benutzerhandbuch zu Amazon ECR Public.

Das folgende Codebeispiel zeigt, wie set-repository-policy verwendet wird.

AWS CLI

Beispiel 1: So legen Sie eine Repository-Richtlinie fest, die eine Pull-Anforderung des Repositorys ermöglicht

Im folgenden set-repository-policy-Beispiel wird eine ECR-Richtlinie für öffentliche Repositorys auf das angegebene Repository angewendet, um die Zugriffsberechtigungen zu kontrollieren.

aws ecr-public set-repository-policy \ --repository-name project-a/nginx-web-app \ --policy-text file://my-repository-policy.json

Inhalt von my-repository-policy.json:

{ "Version":"2012-10-17", "Statement" : [ { "Sid" : "allow public pull", "Effect" : "Allow", "Principal" : "*", "Action" : [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }

Ausgabe:

{ "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}" }

Weitere Informationen finden Sie unter Festlegen einer Richtlinienanweisung für ein Repository im Benutzerhandbuch zu Amazon ECR Public.

Beispiel 2: So legen Sie eine Repository-Richtlinie fest, die es einem IAM-Benutzer in Ihrem Konto ermöglicht, Images zu pushen

Das folgende set-repository-policy-Beispiel ermöglicht es einem IAM-Benutzer in Ihrem Konto, Images an ein ECR-Repository in Ihrem AWS-Konto mithilfe der Eingabedatei mit dem Namen file://my-repository-policy.json als Richtlinientext zu übertragen.

aws ecr-public set-repository-policy \ --repository-name project-a/nginx-web-app \ --policy-text file://my-repository-policy.json

Inhalt von 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" ] } ] }

Ausgabe:

{ "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}" }

Weitere Informationen finden Sie unter Festlegen einer Richtlinienanweisung für ein Repository im Benutzerhandbuch zu Amazon ECR Public.

Beispiel 3: So legen Sie eine Repository-Richtlinie fest, die es einem IAM-Benutzer eines anderen Kontos ermöglicht, Images zu pushen

Das folgende set-repository-policy-Beispiel ermöglicht es einem bestimmten Konto, Images mithilfe der CLI-Eingabedatei ://my-repository-policy.json in Ihrem AWS-Konto zu pushen.

aws ecr-public set-repository-policy \ --repository-name project-a/nginx-web-app \ --policy-text file://my-repository-policy.json

Inhalt von 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" ] } ] }

Ausgabe:

{ "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}" }

Weitere Informationen finden Sie unter Beispiele für Richtlinien öffentlicher Repositorys im Benutzerhandbuch zu Amazon ECR Public.

Das folgende Codebeispiel zeigt, wie tag-resource verwendet wird.

AWS CLI

Beispiel 1: So taggen Sie ein vorhandenes öffentliches Repository in einem öffentlichen Registry

Im folgenden tag-resource-Beispiel wird ein Repository mit dem Namen project-a/nginx-web-app in einem öffentlichen Registry getaggt.

aws ecr-public tag-resource \ --resource-arn arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app \ --tags Key=stack,Value=dev \ --region us-east-1

Weitere Informationen finden Sie unter Verwenden von Tags für ein öffentliches Repository im Benutzerhandbuch zu Amazon ECR Public.

Beispiel 2: So taggen Sie ein vorhandenes öffentliches Repository mit mehreren Tags in einem öffentlichen Registry

Im folgenden tag-resource-Beispiel wird ein vorhandenes Repository mit mehreren Tags markiert.

aws ecr-public tag-resource \ --resource-arn arn:aws:ecr-public::890517186334:repository/project-a/nginx-web-app \ --tags Key=key1,Value=value1 Key=key2,Value=value2 Key=key3,Value=value3 \ --region us-east-1

Weitere Informationen finden Sie unter Verwenden von Tags für ein öffentliches Repository im Benutzerhandbuch zu Amazon ECR Public.

  • API-Details finden Sie unter TagResource in der AWS CLI-Befehlsreferenz.

Das folgende Codebeispiel zeigt, wie untag-resource verwendet wird.

AWS CLI

Beispiel 1: So heben Sie die Markierungen eines vorhandenen öffentlichen Repository in einer öffentlichen Registry auf

Im folgenden untag-resource-Beispiel wird ein Repository mit dem Namen project-a/nginx-web-app in einem öffentlichen Registry getaggt.

aws ecr-public untag-resource \ --resource-arn arn:aws:ecr-public::123456789012:repository/project-a/nginx-web-app \ --tag-keys stack \ --region us-east-1

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Verwenden von Tags für ein öffentliches Repository im Benutzerhandbuch zu Amazon ECR Public.

  • API-Details finden Sie unter UntagResource in der AWS CLI-Befehlsreferenz.