Weitere AWS SDK-Beispiele sind im Repo AWS Doc SDK Examples
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Amazon ECR-Beispiele mit AWS CLI
Die folgenden Codebeispiele zeigen Ihnen, wie Sie mithilfe von Amazon ECR Aktionen ausführen und allgemeine Szenarien implementieren. AWS Command Line Interface
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 Szenarios anzeigen.
Jedes Beispiel enthält einen Link zum vollständigen Quellcode, in dem Sie Anweisungen zum Einrichten und Ausführen des Codes im Kontext finden.
Themen
Aktionen
Das folgende Codebeispiel zeigt die Verwendungbatch-check-layer-availability.
- AWS CLI
-
Um die Verfügbarkeit eines Layers zu überprüfen
Im folgenden
batch-check-layer-availabilityBeispiel wird die Verfügbarkeit eines Layers mit dem Digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edimcluster-autoscalerRepository überprüft.aws ecr batch-check-layer-availability \ --repository-namecluster-autoscaler\ --layer-digestssha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edAusgabe:
{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }-
Einzelheiten zur API finden Sie unter BatchCheckLayerAvailability AWS CLI
Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungbatch-delete-image.
- AWS CLI
-
Beispiel 1: Um ein Bild zu löschen
Im folgenden
batch-delete-imageBeispiel wird ein Bild mit dem Tagpreciseim angegebenen Repository in der Standardregistrierung für ein Konto gelöscht.aws ecr batch-delete-image \ --repository-nameubuntu\ --image-idsimageTag=preciseAusgabe:
{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }Beispiel 2: Um mehrere Bilder zu löschen
Im folgenden
batch-delete-imageBeispiel werden alle Bilder gelöscht, die mitprodundteam1im angegebenen Repository markiert sind.aws ecr batch-delete-image \ --repository-nameMyRepository\ --image-idsimageTag=prodimageTag=team1Ausgabe:
{ "imageIds": [ { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, { "imageDigest": "sha256:567890121234", "imageTag": "team1" } ], "failures": [] }Weitere Informationen finden Sie unter Löschen eines Bilds im Amazon ECR-Benutzerhandbuch.
-
Einzelheiten zur API finden Sie unter BatchDeleteImage AWS CLI
Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungbatch-get-image.
- AWS CLI
-
Beispiel 1: Um ein Bild zu erhalten
Im folgenden
batch-get-imageBeispiel wird ein Bild mit dem Tagv1.13.6in einem Repository abgerufen, dascluster-autoscalerin der Standardregistrierung für ein Konto aufgerufen wird.aws ecr batch-get-image \ --repository-namecluster-autoscaler\ --image-idsimageTag=v1.13.6Ausgabe:
{ "images": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageId": { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" }, "imageManifest": "{\n \"schemaVersion\": 2,\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\n \"config\": {\n \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\n \"size\": 2777,\n \"digest\": \"sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed\"\n },\n \"layers\": [\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 17743696,\n \"digest\": \"sha256:39fafc05754f195f134ca11ecdb1c9a691ab0848c697fffeb5a85f900caaf6e1\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 2565026,\n \"digest\": \"sha256:8c8a779d3a537b767ae1091fe6e00c2590afd16767aa6096d1b318d75494819f\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 28005981,\n \"digest\": \"sha256:c44ba47496991c9982ee493b47fd25c252caabf2b4ae7dd679c9a27b6a3c8fb7\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 775,\n \"digest\": \"sha256:e2c388b44226544363ca007be7b896bcce1baebea04da23cbd165eac30be650f\"\n }\n ]\n}" } ], "failures": [] }Beispiel 2: Um mehrere Bilder zu erhalten
Im folgenden
batch-get-imageBeispiel werden Details zu allen Bildern angezeigt, die mitprodundteam1im angegebenen Repository markiert sind.aws ecr batch-get-image \ --repository-nameMyRepository\ --image-idsimageTag=prodimageTag=team1Ausgabe:
{ "images": [ { "registryId": "123456789012", "repositoryName": "MyRepository", "imageId": { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, "imageManifest": "manifestExample1" }, { "registryId": "567890121234", "repositoryName": "MyRepository", "imageId": { "imageDigest": "sha256:123456789012", "imageTag": "team1" }, "imageManifest": "manifestExample2" } ], "failures": [] }Weitere Informationen finden Sie unter Bilder im Amazon ECR-Benutzerhandbuch.
-
Einzelheiten zur API finden Sie BatchGetImage
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungcomplete-layer-upload.
- AWS CLI
-
Um den Upload einer Bildebene abzuschließen
Im folgenden
complete-layer-uploadBeispiel wird der Upload einer Bildebene in daslayer-testRepository abgeschlossen.aws ecr complete-layer-upload \ --repository-namelayer-test\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9\ --layer-digests6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323eAusgabe:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }-
Einzelheiten zur API finden Sie CompleteLayerUpload
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungcreate-repository.
- AWS CLI
-
Beispiel 1: Um ein Repository zu erstellen
Im folgenden
create-repositoryBeispiel wird ein Repository innerhalb des angegebenen Namespace in der Standardregistrierung für ein Konto erstellt.aws ecr create-repository \ --repository-nameproject-a/sample-repoAusgabe:
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo" } }Weitere Informationen finden Sie unter Creating a Repository im Amazon ECR-Benutzerhandbuch.
Beispiel 2: So erstellen Sie ein Repository, das mit der Unveränderlichkeit des Image-Tags konfiguriert ist
Im folgenden
create-repositoryBeispiel wird in der Standardregistrierung für ein Konto ein Repository erstellt, das für die Unveränderlichkeit von Tags konfiguriert ist.aws ecr create-repository \ --repository-nameproject-a/sample-repo\ --image-tag-mutabilityIMMUTABLEAusgabe:
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageTagMutability": "IMMUTABLE" } }Weitere Informationen finden Sie unter Image Tag Mutability im Amazon ECR-Benutzerhandbuch.
Beispiel 3: So erstellen Sie ein Repository, das mit einer Scan-Konfiguration konfiguriert ist
Im folgenden
create-repositoryBeispiel wird ein Repository erstellt, das so konfiguriert ist, dass es beim Image-Push in der Standardregistrierung für ein Konto einen Schwachstellenscan durchführt.aws ecr create-repository \ --repository-nameproject-a/sample-repo\ --image-scanning-configurationscanOnPush=trueAusgabe:
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageScanningConfiguration": { "scanOnPush": true } } }Weitere Informationen finden Sie unter Bildscannen im Amazon ECR-Benutzerhandbuch.
-
Einzelheiten zur API finden Sie CreateRepository
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdelete-lifecycle-policy.
- AWS CLI
-
Um die Lebenszyklusrichtlinie für ein Repository zu löschen
Im folgenden
delete-lifecycle-policyBeispiel wird die Lebenszyklusrichtlinie für dashello-worldRepository gelöscht.aws ecr delete-lifecycle-policy \ --repository-namehello-worldAusgabe:
{ "registryId": "012345678910", "repositoryName": "hello-world", "lifecyclePolicyText": "{\"rules\":[{\"rulePriority\":1,\"description\":\"Remove untagged images.\",\"selection\":{\"tagStatus\":\"untagged\",\"countType\":\"sinceImagePushed\",\"countUnit\":\"days\",\"countNumber\":10},\"action\":{\"type\":\"expire\"}}]}", "lastEvaluatedAt": 0.0 }-
Einzelheiten zur API finden Sie DeleteLifecyclePolicy
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdelete-repository-policy.
- AWS CLI
-
Um die Repository-Richtlinie für ein Repository zu löschen
Im folgenden
delete-repository-policyBeispiel wird die Repository-Richtlinie für dascluster-autoscalerRepository gelöscht.aws ecr delete-repository-policy \ --repository-namecluster-autoscalerAusgabe:
{ "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"allow public pull\",\n \"Effect\" : \"Allow\",\n \"Principal\" : \"*\",\n \"Action\" : [ \"ecr:BatchCheckLayerAvailability\", \"ecr:BatchGetImage\", \"ecr:GetDownloadUrlForLayer\" ]\n } ]\n}" }-
Einzelheiten zur API finden Sie unter DeleteRepositoryPolicy AWS CLI
Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdelete-repository.
- AWS CLI
-
So löschen Sie ein Repository
Das folgende
delete-repositoryBeispiel mit Command Force löscht das angegebene Repository in der Standardregistrierung für ein Konto. Das--forceFlag ist erforderlich, wenn das Repository Bilder enthält.aws ecr delete-repository \ --repository-nameubuntu\ --forceAusgabe:
{ "repository": { "registryId": "123456789012", "repositoryName": "ubuntu", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/ubuntu" } }Weitere Informationen finden Sie unter Löschen eines Repositorys im Amazon ECR-Benutzerhandbuch.
-
Einzelheiten zur API finden Sie unter DeleteRepository AWS CLI
Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdescribe-image-scan-findings.
- AWS CLI
-
Um die Scanergebnisse für ein Bild zu beschreiben
Im folgenden
describe-image-scan-findingsBeispiel werden die Ergebnisse des Bildscans für ein Bild mithilfe des Image Digest im angegebenen Repository in der Standardregistrierung für ein Konto zurückgegeben.aws ecr describe-image-scan-findings \ --repository-namesample-repo\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6Ausgabe:
{ "imageScanFindings": { "findings": [ { "name": "CVE-2019-5188", "description": "A code execution vulnerability exists in the directory rehashing functionality of E2fsprogs e2fsck 1.45.4. A specially crafted ext4 directory can cause an out-of-bounds write on the stack, resulting in code execution. An attacker can corrupt a partition to trigger this vulnerability.", "uri": "http://people.ubuntu.com/~ubuntu-security/cve/CVE-2019-5188", "severity": "MEDIUM", "attributes": [ { "key": "package_version", "value": "1.44.1-1ubuntu1.1" }, { "key": "package_name", "value": "e2fsprogs" }, { "key": "CVSS2_VECTOR", "value": "AV:L/AC:L/Au:N/C:P/I:P/A:P" }, { "key": "CVSS2_SCORE", "value": "4.6" } ] } ], "imageScanCompletedAt": 1579839105.0, "vulnerabilitySourceUpdatedAt": 1579811117.0, "findingSeverityCounts": { "MEDIUM": 1 } }, "registryId": "123456789012", "repositoryName": "sample-repo", "imageId": { "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6" }, "imageScanStatus": { "status": "COMPLETE", "description": "The scan was completed successfully." } }Weitere Informationen finden Sie unter Bildscannen im Amazon ECR-Benutzerhandbuch.
-
Einzelheiten zur API finden Sie DescribeImageScanFindings
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdescribe-images.
- AWS CLI
-
Um ein Bild in einem Repository zu beschreiben
Im folgenden
describe-imagesBeispiel werden Details zu einem Bild imcluster-autoscalerRepository mit dem Tagv1.13.6angezeigt.aws ecr describe-images \ --repository-namecluster-autoscaler\ --image-idsimageTag=v1.13.6Ausgabe:
{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }-
Einzelheiten zur API finden Sie unter DescribeImages AWS CLI
Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdescribe-repositories.
- AWS CLI
-
Um die Repositorys in einer Registrierung zu beschreiben
In diesem Beispiel werden die Repositorys in der Standardregistrierung für ein Konto beschrieben.
Befehl:
aws ecr describe-repositoriesAusgabe:
{ "repositories": [ { "registryId": "012345678910", "repositoryName": "ubuntu", "repositoryArn": "arn:aws:ecr:us-west-2:012345678910:repository/ubuntu" }, { "registryId": "012345678910", "repositoryName": "test", "repositoryArn": "arn:aws:ecr:us-west-2:012345678910:repository/test" } ] }-
Einzelheiten zur API finden Sie DescribeRepositories
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungget-authorization-token.
- AWS CLI
-
Um ein Autorisierungstoken für Ihre Standardregistrierung zu erhalten
Mit dem folgenden
get-authorization-tokenBeispielbefehl wird ein Autorisierungstoken für Ihre Standardregistrierung abgerufen.aws ecr get-authorization-tokenAusgabe:
{ "authorizationData": [ { "authorizationToken": "QVdTOkN...", "expiresAt": 1448875853.241, "proxyEndpoint": "https://123456789012.dkr.ecr.us-west-2.amazonaws.com" } ] }-
Einzelheiten zur API finden Sie GetAuthorizationToken
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungget-download-url-for-layer.
- AWS CLI
-
Um die Download-URL eines Layers abzurufen
Im folgenden
get-download-url-for-layerBeispiel wird die Download-URL einer Ebene mit dem Digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edimcluster-autoscalerRepository angezeigt.aws ecr get-download-url-for-layer \ --repository-namecluster-autoscaler\ --layer-digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edAusgabe:
{ "downloadUrl": "https://prod-us-west-2-starport-layer-bucket.s3.us-west-2.amazonaws.com/e501-012345678910-9cb60dc0-7284-5643-3987-da6dac0465f0/04620aac-66a5-4167-8232-55ee7ef6d565?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20190814T220617Z&X-Amz-SignedHeaders=host&X-Amz-Expires=3600&X-Amz-Credential=AKIA32P3D2JDNMVAJLGF%2F20190814%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=9161345894947a1672467a0da7a1550f2f7157318312fe4941b59976239c3337", "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed" }-
Einzelheiten zur API finden Sie unter GetDownloadUrlForLayer AWS CLI
Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungget-lifecycle-policy-preview.
- AWS CLI
-
Um Details für eine Lifecycle-Policy-Vorschau abzurufen
Im folgenden
get-lifecycle-policy-previewBeispiel wird das Ergebnis einer Lifecycle-Policy-Vorschau für das angegebene Repository in der Standardregistrierung für ein Konto abgerufen.Befehl:
aws ecr get-lifecycle-policy-preview \ --repository-name"project-a/amazon-ecs-sample"Ausgabe:
{ "registryId": "012345678910", "repositoryName": "project-a/amazon-ecs-sample", "lifecyclePolicyText": "{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n", "status": "COMPLETE", "previewResults": [], "summary": { "expiringImageTotalCount": 0 } }Weitere Informationen finden Sie unter Lebenszyklusrichtlinien im Amazon ECR-Benutzerhandbuch.
-
Einzelheiten zur API finden Sie GetLifecyclePolicyPreview
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungget-lifecycle-policy.
- AWS CLI
-
Um eine Lebenszyklusrichtlinie abzurufen
Im folgenden
get-lifecycle-policyBeispiel werden Details der Lebenszyklusrichtlinie für das angegebene Repository in der Standardregistrierung für das Konto angezeigt.aws ecr get-lifecycle-policy \ --repository-name"project-a/amazon-ecs-sample"Ausgabe:
{ "registryId": "123456789012", "repositoryName": "project-a/amazon-ecs-sample", "lifecyclePolicyText": "{\"rules\":[{\"rulePriority\":1,\"description\":\"Expire images older than 14 days\",\"selection\":{\"tagStatus\":\"untagged\",\"countType\":\"sinceImagePushed\",\"countUnit\":\"days\",\"countNumber\":14},\"action\":{\"type\":\"expire\"}}]}", "lastEvaluatedAt": 1504295007.0 }Weitere Informationen finden Sie unter Lebenszyklusrichtlinien im Amazon ECR-Benutzerhandbuch.
-
Einzelheiten zur API finden Sie GetLifecyclePolicy
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungget-login-password.
- AWS CLI
-
Um ein Passwort abzurufen, um sich bei einer Registrierung zu authentifizieren
Im Folgenden
get-login-passwordwird ein Passwort angezeigt, das Sie mit einem Container-Client Ihrer Wahl verwenden können, um sich bei jeder Amazon ECR-Registrierung zu authentifizieren, auf die Ihr IAM-Principal Zugriff hat.aws ecr get-login-passwordAusgabe:
<password>Zur Verwendung mit der Docker-CLI leiten Sie die Ausgabe des
get-login-passwordBefehls an dendocker loginBefehl weiter. Stellen Sie beim Abrufen des Passworts sicher, dass Sie dieselbe Region angeben, in der sich Ihre Amazon ECR-Registrierung befindet.aws ecr get-login-password \ --region<region>\|dockerlogin\ --usernameAWS\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.com.rproxy.govskope.caWeitere Informationen finden Sie unter Registry Authentication im Amazon ECR-Benutzerhandbuch.
-
Einzelheiten zur API finden Sie unter GetLoginPassword AWS CLI
Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungget-login.
- AWS CLI
-
Um einen Docker-Login-Befehl für Ihre Standardregistrierung abzurufen
In diesem Beispiel wird ein Befehl gedruckt, mit dem Sie sich bei Ihrer standardmäßigen Amazon ECR-Registrierung anmelden können.
Befehl:
aws ecr get-loginAusgabe:
docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com.rproxy.govskope.caUm sich bei der Registrierung eines anderen Kontos anzumelden
In diesem Beispiel werden ein oder mehrere Befehle gedruckt, mit denen Sie sich bei Amazon ECR-Registern anmelden können, die mit anderen Konten verknüpft sind.
Befehl:
aws ecr get-login --registry-ids012345678910023456789012Ausgabe:
docker login -u <username> -p <token-1> -e none <endpoint-1> docker login -u <username> -p <token-2> -e none <endpoint-2>-
Einzelheiten zur API finden Sie GetLogin
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungget-repository-policy.
- AWS CLI
-
Um die Repository-Richtlinie für ein Repository abzurufen
Im folgenden
get-repository-policyBeispiel werden Details zur Repository-Richtlinie für dascluster-autoscalerRepository angezeigt.aws ecr get-repository-policy \ --repository-namecluster-autoscalerAusgabe:
{ "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"allow public pull\",\n \"Effect\" : \"Allow\",\n \"Principal\" : \"*\",\n \"Action\" : [ \"ecr:BatchCheckLayerAvailability\", \"ecr:BatchGetImage\", \"ecr:GetDownloadUrlForLayer\" ]\n } ]\n}" }-
Einzelheiten zur API finden Sie GetRepositoryPolicy
unter AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunginitiate-layer-upload.
- AWS CLI
-
Um einen Upload einer Bildebene zu initiieren
Im folgenden
initiate-layer-uploadBeispiel wird ein Upload einer Bildebene in daslayer-testRepository initiiert.aws ecr initiate-layer-upload \ --repository-namelayer-testAusgabe:
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }-
Einzelheiten zur API finden Sie InitiateLayerUpload
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunglist-images.
- AWS CLI
-
Um die Bilder in einem Repository aufzulisten
Im folgenden
list-imagesBeispiel wird eine Liste der Bilder imcluster-autoscalerRepository angezeigt.aws ecr list-images \ --repository-namecluster-autoscalerAusgabe:
{ "imageIds": [ { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.8" }, { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.7" }, { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" } ] }-
Einzelheiten zur API finden Sie ListImages
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunglist-tags-for-resource.
- AWS CLI
-
Um die Tags für das Repository aufzulisten
Im folgenden
list-tags-for-resourceBeispiel wird eine Liste der mit demhello-worldRepository verknüpften Tags angezeigt.aws ecr list-tags-for-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-worldAusgabe:
{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }-
Einzelheiten zur API finden Sie ListTagsForResource
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungput-image-scanning-configuration.
- AWS CLI
-
Um die Konfiguration für das Scannen von Bildern für ein Repository zu aktualisieren
Im folgenden
put-image-scanning-configurationBeispiel wird die Konfiguration für das Scannen von Bildern für das angegebene Repository aktualisiert.aws ecr put-image-scanning-configuration \ --repository-namesample-repo\ --image-scanning-configurationscanOnPush=trueAusgabe:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageScanningConfiguration": { "scanOnPush": true } }Weitere Informationen finden Sie unter Bildscannen im Amazon ECR-Benutzerhandbuch.
-
Einzelheiten zur API finden Sie PutImageScanningConfiguration
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungput-image-tag-mutability.
- AWS CLI
-
Um die Veränderbarkeitseinstellung für Image-Tags für ein Repository zu aktualisieren
Im folgenden
put-image-tag-mutabilityBeispiel wird das angegebene Repository für die Unveränderlichkeit von Tags konfiguriert. Dadurch wird verhindert, dass alle Image-Tags innerhalb des Repositorys überschrieben werden.aws ecr put-image-tag-mutability \ --repository-namehello-repository\ --image-tag-mutabilityIMMUTABLEAusgabe:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }Weitere Informationen finden Sie unter Image Tag Mutability im Amazon ECR-Benutzerhandbuch.
-
Einzelheiten zur API finden Sie unter PutImageTagMutability AWS CLI
Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungput-image.
- AWS CLI
-
Um ein Bild mit seinem Manifest neu zu taggen
Im folgenden
put-imageBeispiel wird ein neues Tag imhello-worldRepository mit einem vorhandenen Image-Manifest erstellt.aws ecr put-image \ --repository-namehello-world\ --image-tag2019.08\ --image-manifestfile://hello-world.manifest.jsonInhalt von
hello-world.manifest.json:{ "schemaVersion": 2, "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "config": { "mediaType": "application/vnd.docker.container.image.v1+json", "size": 5695, "digest": "sha256:cea5fe7701b7db3dd1c372f3cea6f43cdda444fcc488f530829145e426d8b980" }, "layers": [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 39096921, "digest": "sha256:d8868e50ac4c7104d2200d42f432b661b2da8c1e417ccfae217e6a1e04bb9295" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 57938, "digest": "sha256:83251ac64627fc331584f6c498b3aba5badc01574e2c70b2499af3af16630eed" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 423, "digest": "sha256:589bba2f1b36ae56f0152c246e2541c5aa604b058febfcf2be32e9a304fec610" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 680, "digest": "sha256:d62ecaceda3964b735cdd2af613d6bb136a52c1da0838b2ff4b4dab4212bcb1c" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 162, "digest": "sha256:6d93b41cfc6bf0d2522b7cf61588de4cd045065b36c52bd3aec2ba0622b2b22b" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 28268840, "digest": "sha256:6986b4d4c07932c680b3587f2eac8b0e013568c003cc23b04044628a5c5e599f" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 35369152, "digest": "sha256:8c5ec60f10102dc8da0649d866c7c2f706e459d0bdc25c83ad2de86f4996c276" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 155, "digest": "sha256:cde50b1c594539c5f67cbede9aef95c9ae321ccfb857f7b251b45b84198adc85" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 28737, "digest": "sha256:2e102807ab72a73fc9abf53e8c50e421bdc337a0a8afcb242176edeec65977e4" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 190, "digest": "sha256:fc379bbd5ed37808772bef016553a297356c59b8f134659e6ee4ecb563c2f5a7" }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip", "size": 28748, "digest": "sha256:021db240dfccf5a1aff19507d17c0177e5888e518acf295b52204b1825e8b7ee" } ] }Ausgabe:
{ "image": { "registryId": "130757420319", "repositoryName": "hello-world", "imageId": { "imageDigest": "sha256:8ece96b74f87652876199d83bd107d0435a196133af383ac54cb82b6cc5283ae", "imageTag": "2019.08" }, "imageManifest": "{\n \"schemaVersion\": 2,\n \"mediaType\": \"application/vnd.docker.distribution.manifest.v2+json\",\n \"config\": {\n \"mediaType\": \"application/vnd.docker.container.image.v1+json\",\n \"size\": 5695,\n \"digest\": \"sha256:cea5fe7701b7db3dd1c372f3cea6f43cdda444fcc488f530829145e426d8b980\"\n },\n \"layers\": [\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 39096921,\n \"digest\": \"sha256:d8868e50ac4c7104d2200d42f432b661b2da8c1e417ccfae217e6a1e04bb9295\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 57938,\n \"digest\": \"sha256:83251ac64627fc331584f6c498b3aba5badc01574e2c70b2499af3af16630eed\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 423,\n \"digest\": \"sha256:589bba2f1b36ae56f0152c246e2541c5aa604b058febfcf2be32e9a304fec610\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 680,\n \"digest\": \"sha256:d62ecaceda3964b735cdd2af613d6bb136a52c1da0838b2ff4b4dab4212bcb1c\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 162,\n \"digest\": \"sha256:6d93b41cfc6bf0d2522b7cf61588de4cd045065b36c52bd3aec2ba0622b2b22b\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 28268840,\n \"digest\": \"sha256:6986b4d4c07932c680b3587f2eac8b0e013568c003cc23b04044628a5c5e599f\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 35369152,\n \"digest\": \"sha256:8c5ec60f10102dc8da0649d866c7c2f706e459d0bdc25c83ad2de86f4996c276\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 155,\n \"digest\": \"sha256:cde50b1c594539c5f67cbede9aef95c9ae321ccfb857f7b251b45b84198adc85\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 28737,\n \"digest\": \"sha256:2e102807ab72a73fc9abf53e8c50e421bdc337a0a8afcb242176edeec65977e4\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 190,\n \"digest\": \"sha256:fc379bbd5ed37808772bef016553a297356c59b8f134659e6ee4ecb563c2f5a7\"\n },\n {\n \"mediaType\": \"application/vnd.docker.image.rootfs.diff.tar.gzip\",\n \"size\": 28748,\n \"digest\": \"sha256:021db240dfccf5a1aff19507d17c0177e5888e518acf295b52204b1825e8b7ee\"\n }\n ]\n}\n" } }-
Einzelheiten zur API finden Sie PutImage
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungput-lifecycle-policy.
- AWS CLI
-
Um eine Lebenszyklusrichtlinie zu erstellen
Im folgenden
put-lifecycle-policyBeispiel wird eine Lebenszyklusrichtlinie für das angegebene Repository in der Standardregistrierung für ein Konto erstellt.aws ecr put-lifecycle-policy \ --repository-name"project-a/amazon-ecs-sample"\ --lifecycle-policy-text"file://policy.json"Inhalt von
policy.json:{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }Ausgabe:
{ "registryId": "<aws_account_id>", "repositoryName": "project-a/amazon-ecs-sample", "lifecyclePolicyText": "{\"rules\":[{\"rulePriority\":1,\"description\":\"Expire images older than 14 days\",\"selection\":{\"tagStatus\":\"untagged\",\"countType\":\"sinceImagePushed\",\"countUnit\":\"days\",\"countNumber\":14},\"action\":{\"type\":\"expire\"}}]}" }Weitere Informationen finden Sie unter Lebenszyklusrichtlinien im Amazon ECR-Benutzerhandbuch.
-
Einzelheiten zur API finden Sie PutLifeCyclePolicy
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungset-repository-policy.
- AWS CLI
-
Um die Repository-Richtlinie für ein Repository festzulegen
Im folgenden
set-repository-policyBeispiel wird eine in einer Datei enthaltene Repository-Richtlinie an dascluster-autoscalerRepository angehängt.aws ecr set-repository-policy \ --repository-namecluster-autoscaler\ --policy-textfile://my-policy.jsonInhalt von
my-policy.json:{ "Version" : "2008-10-17", "Statement" : [ { "Sid" : "allow public pull", "Effect" : "Allow", "Principal" : "*", "Action" : [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }Ausgabe:
{ "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "policyText": "{\n \"Version\" : \"2008-10-17\",\n \"Statement\" : [ {\n \"Sid\" : \"allow public pull\",\n \"Effect\" : \"Allow\",\n \"Principal\" : \"*\",\n \"Action\" : [ \"ecr:BatchCheckLayerAvailability\", \"ecr:BatchGetImage\", \"ecr:GetDownloadUrlForLayer\" ]\n } ]\n}" }-
Einzelheiten zur API finden Sie unter SetRepositoryPolicy AWS CLI
Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungstart-image-scan.
- AWS CLI
-
Um einen Schwachstellenscan für ein Bild zu starten
Im folgenden
start-image-scanBeispiel wird ein Image-Scan für den Image-Digest im angegebenen Repository gestartet und von diesem spezifiziert.aws ecr start-image-scan \ --repository-namesample-repo\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6Ausgabe:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageId": { "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6" }, "imageScanStatus": { "status": "IN_PROGRESS" } }Weitere Informationen finden Sie unter Bildscannen im Amazon ECR-Benutzerhandbuch.
-
Einzelheiten zur API finden Sie StartImageScan
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungstart-lifecycle-policy-preview.
- AWS CLI
-
Um eine Lifecycle-Richtlinienvorschau zu erstellen
Im folgenden
start-lifecycle-policy-previewBeispiel wird eine Lifecycle-Richtlinienvorschau erstellt, die durch eine JSON-Datei für das angegebene Repository definiert wird.aws ecr start-lifecycle-policy-preview \ --repository-name"project-a/amazon-ecs-sample"\ --lifecycle-policy-text"file://policy.json"Inhalt von
policy.json:{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }Ausgabe:
{ "registryId": "012345678910", "repositoryName": "project-a/amazon-ecs-sample", "lifecyclePolicyText": "{\n \"rules\": [\n {\n \"rulePriority\": 1,\n \"description\": \"Expire images older than 14 days\",\n \"selection\": {\n \"tagStatus\": \"untagged\",\n \"countType\": \"sinceImagePushed\",\n \"countUnit\": \"days\",\n \"countNumber\": 14\n },\n \"action\": {\n \"type\": \"expire\"\n }\n }\n ]\n}\n", "status": "IN_PROGRESS" }-
Einzelheiten zur API finden Sie StartLifecyclePolicyPreview
unter AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungtag-resource.
- AWS CLI
-
Um ein Repository zu taggen
Im folgenden
tag-resourceBeispiel wird ein Tag mit SchlüsselStageund WertIntegfür dashello-worldRepository festgelegt.aws ecr tag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tagsKey=Stage,Value=IntegMit diesem Befehl wird keine Ausgabe zurückgegeben.
-
Einzelheiten zur API finden Sie TagResource
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunguntag-resource.
- AWS CLI
-
Um die Markierung eines Repositorys aufzuheben
Im folgenden
untag-resourceBeispiel wird das Tag mit dem SchlüsselStageaus demhello-worldRepository entfernt.aws ecr untag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tag-keysStageMit diesem Befehl wird keine Ausgabe zurückgegeben.
-
Einzelheiten zur API finden Sie UntagResource
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungupload-layer-part.
- AWS CLI
-
Um ein Layer-Teil hochzuladen
Im Folgenden wird ein Teil der Bildebene in das
layer-testRepositoryupload-layer-parthochgeladen.aws ecr upload-layer-part \ --repository-namelayer-test\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9\ --part-first-byte0\ --part-last-byte8323314\ --layer-part-blobfile:///var/lib/docker/image/overlay2/layerdb/sha256/ff986b10a018b48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e/layer.b64Ausgabe:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }-
Einzelheiten zur API finden Sie UploadLayerPart
in der AWS CLI Befehlsreferenz.
-