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 Szenarien anzeigen.
Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anweisungen zum Einrichten und Ausführen des Codes im Kodex finden.
Themen
Aktionen
Das folgende Codebeispiel zeigt, wie Siebatch-check-layer-availability.
- AWS CLI
-
So prüfen Sie die Verfügbarkeit eines Layers
Im folgenden Beispiel für
batch-check-layer-availabilitywird die Verfügbarkeit eines Layers mit dem Digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edimcluster-autoscaler-Repository ü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 BatchCheckLayerAvailability
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungbatch-delete-image.
- AWS CLI
-
Beispiel 1: So löschen Sie ein Image
Im folgenden Beispiel für
batch-delete-imagewird ein Image mit dem Tagpreciseim angegebenen Repository im Standard-Registry 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: So löschen Sie mehrere Images
Im folgenden Beispiel für
batch-delete-imagewerden alle Images 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 von Images im Benutzerhandbuch für Amazon ECR.
-
Einzelheiten zur API finden Sie BatchDeleteImage
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungbatch-get-image.
- AWS CLI
-
Beispiel 1: So rufen Sie ein Image ab
Im folgenden Beispiel für
batch-get-imagewird ein Image mit dem Tagv1.13.6in einem Repository mit dem Namencluster-autoscalerim Standard-Registry für ein Konto abgerufen.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: So rufen Sie mehrere Images ab
Im folgenden Beispiel für
batch-get-imagewerden Details aller Images 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 Images im Benutzerhandbuch für Amazon ECR.
-
Einzelheiten zur API finden Sie BatchGetImage
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungcomplete-layer-upload.
- AWS CLI
-
So schließen Sie den Upload eines Image-Layers ab
Im folgenden Beispiel für
complete-layer-uploadwird der Upload eines Image-Layers in daslayer-test-Repository 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: So erstellen Sie ein Repository
Im folgenden Beispiel für
create-repositorywird ein Repository innerhalb des angegebenen Namespace im Standard-Registry 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 Erstellen eines Repositorys im Benutzerhandbuch für Amazon ECR.
Beispiel 2: So erstellen Sie ein Repository, das mit der Unveränderlichkeit von Image-Tags konfiguriert ist
Im folgenden Beispiel für
create-repositorywird im Standard-Registry 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 Veränderlichkeit von Image-Tags im Benutzerhandbuch für Amazon ECR.
Beispiel 3: So erstellen Sie ein Repository, das mit einer Scan-Konfiguration konfiguriert ist
Im folgenden Beispiel für
create-repositorywird im Standard-Registry für ein Konto ein Repository erstellt, das für die Durchführung eines Scans auf Schwachstellen beim Pushen von Images konfiguriert ist.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 Scannen von Images im Benutzerhandbuch für Amazon ECR.
-
Einzelheiten zur API finden Sie CreateRepository
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdelete-lifecycle-policy.
- AWS CLI
-
So löschen Sie eine Lebenszyklusrichtlinie für ein Repository
Im folgenden Beispiel für
delete-lifecycle-policywird die Lebenszyklusrichtlinie für dashello-world-Repository 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
-
So löschen Sie die Repository-Richtlinie für ein Repository
Im folgenden Beispiel für
delete-repository-policywird die Repository-Richtlinie für dascluster-autoscaler-Repository 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 DeleteRepositoryPolicy
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdelete-repository.
- AWS CLI
-
So löschen Sie ein Repository
Der folgende
delete-repository-Beispielbefehl erzwingt das Löschen des angegebenen Repositorys im Standard-Registry für ein Konto. Das--force-Flag ist erforderlich, wenn das Repository Images 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 Benutzerhandbuch für Amazon ECR.
-
Einzelheiten zur API finden Sie DeleteRepository
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdescribe-image-scan-findings.
- AWS CLI
-
So beschreiben Sie die Scanergebnisse für ein Image
Im folgenden Beispiel für
describe-image-scan-findingswerden die Ergebnisse des Image-Scans für ein Image mithilfe des Image-Digests im angegebenen Repository der Standard-Registry 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 Scannen von Images im Benutzerhandbuch für Amazon ECR.
-
Einzelheiten zur API finden Sie DescribeImageScanFindings
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdescribe-images.
- AWS CLI
-
So beschreiben Sie ein Image in einem Repository
Im folgenden Beispiel für
describe-imageswerden Details zu einem Image imcluster-autoscaler-Repository 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 DescribeImages
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdescribe-repositories.
- AWS CLI
-
So beschreiben Sie die Repositorys in einem Registry
In diesem Beispiel werden die Repositorys im Standard-Registry 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
-
So rufen Sie ein Autorisierungstoken für Ihr Standard-Registry ab
Mit dem folgenden
get-authorization-token-Beispielbefehl wird ein Autorisierungstoken für Ihr Standard-Registry 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
-
So rufen Sie die Download-URL eines Layers ab
Im folgenden Beispiel für
get-download-url-for-layerwird die Download-URL eines Layers mit dem Digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edimcluster-autoscaler-Repository 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 GetDownloadUrlForLayer
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungget-lifecycle-policy-preview.
- AWS CLI
-
So rufen Sie Details für eine Lebenszyklus-Richtlinienvorschau ab
Im folgenden Beispiel für
get-lifecycle-policy-previewwird das Ergebnis einer Lebenszyklus-Richtlinienvorschau für das angegebene Repository im Standard-Registry 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 Benutzerhandbuch für Amazon ECR.
-
Einzelheiten zur API finden Sie GetLifecyclePolicyPreview
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungget-lifecycle-policy.
- AWS CLI
-
So rufen Sie eine Lebenszyklusrichtlinie ab
Im folgenden Beispiel für
get-lifecycle-policywerden Details der Lebenszyklusrichtlinie für das angegebene Repository im Standard-Registry für das 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 Benutzerhandbuch für Amazon ECR.
-
Einzelheiten zur API finden Sie GetLifecyclePolicy
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungget-login-password.
- AWS CLI
-
So rufen Sie ein Passwort ab, um sich bei einem Registry zu authentifizieren
Im folgenden Beispiel für
get-login-passwordwird ein Passwort angezeigt, das Sie mit einem Containerclient Ihrer Wahl verwenden können, um sich bei einem beliebigen Amazon-ECR-Registry zu authentifizieren, auf das Ihr IAM-Prinzipal Zugriff hat.aws ecr get-login-passwordAusgabe:
<password>Zur Verwendung mit der Docker-CLI leiten Sie die Ausgabe des
get-login-password-Befehls an dendocker login-Befehl weiter. Stellen Sie beim Abrufen des Passworts sicher, dass Sie dieselbe Region angeben, in der sich Ihr Amazon-ECR-Registry befindet.aws ecr get-login-password \ --region<region>\|dockerlogin\ --usernameAWS\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.comWeitere Informationen finden Sie unter Registry-Authentifizierung im Benutzerhandbuch für Amazon ECR.
-
Einzelheiten zur API finden Sie GetLoginPassword
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungget-login.
- AWS CLI
-
So rufen Sie einen Docker-Anmeldebefehl für Ihr Standard-Registry ab
In diesem Beispiel wird ein Befehl gedruckt, mit dem Sie sich bei Ihrem standardmäßigen Amazon-ECR-Registry anmelden können.
Befehl:
aws ecr get-loginAusgabe:
docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.comSo melden Sie sich beim Registry eines anderen Kontos an
In diesem Beispiel werden ein oder mehrere Befehle gedruckt, mit denen Sie sich bei Amazon-ECR-Registrys 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
-
So rufen Sie die Repository-Richtlinie für ein Repository ab
Im folgenden Beispiel für
get-repository-policywerden Details zur Repository-Richtlinie für dascluster-autoscaler-Repository 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
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendunginitiate-layer-upload.
- AWS CLI
-
So initiieren Sie einen Upload eines Image-Layers
Im folgenden Beispiel für
initiate-layer-uploadwird der Upload eines Image-Layers in daslayer-test-Repository 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
-
So listen Sie die Images in einem Repository auf
Im folgenden Beispiel für
list-imageswird eine Liste der Images imcluster-autoscaler-Repository 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
-
So listen Sie die Tags für ein Repository auf
Im folgenden Beispiel für
list-tags-for-resourcewird eine Liste der Tags angezeigt, die demhello-world-Repository zugeordnet sind.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
-
So aktualisieren Sie die Image-Scan-Konfiguration für ein Repository
Im folgenden Beispiel für
put-image-scanning-configurationwird die Image-Scan-Konfiguration für das angegebenes 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 Scannen von Images im Benutzerhandbuch für Amazon ECR.
-
Einzelheiten zur API finden Sie PutImageScanningConfiguration
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungput-image-tag-mutability.
- AWS CLI
-
So aktualisieren Sie die Einstellung zur Veränderlichkeit von Image-Tags für ein Repository
Im folgenden Beispiel für
put-image-tag-mutabilitywird das angegebene Repository für die Unveränderlichkeit von Tags konfiguriert. Dies verhindert das Überschreiben aller Image-Tags innerhalb des Repositorys.aws ecr put-image-tag-mutability \ --repository-namehello-repository\ --image-tag-mutabilityIMMUTABLEAusgabe:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }Weitere Informationen finden Sie unter Veränderlichkeit von Image-Tags im Benutzerhandbuch für Amazon ECR.
-
Einzelheiten zur API finden Sie PutImageTagMutability
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungput-image.
- AWS CLI
-
So markieren Sie ein Image erneut mit seinem Manifest
Im folgenden Beispiel für
put-imagewird ein neues Tag imhello-world-Repository 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
-
So erstellen Sie eine Lebenszyklusrichtlinie
Im folgenden Beispiel für
put-lifecycle-policywird eine Lebenszyklusrichtlinie für das angegebene Repository im Standard-Registry 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 Benutzerhandbuch für Amazon ECR.
-
Einzelheiten zur API finden Sie PutLifeCyclePolicy
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungset-repository-policy.
- AWS CLI
-
So legen Sie die Repository-Richtlinie für ein Repository fest
Im folgenden Beispiel für
set-repository-policywird eine in einer Datei enthaltene Repository-Richtlinie an dascluster-autoscaler-Repository angehängt.aws ecr set-repository-policy \ --repository-namecluster-autoscaler\ --policy-textfile://my-policy.jsonInhalt von
my-policy.json:{ "Version":"2012-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 SetRepositoryPolicy
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungstart-image-scan.
- AWS CLI
-
So starten Sie einen Schwachstellenscan für ein Image
Im folgenden Beispiel für
start-image-scanwird 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 Scannen von Images im Benutzerhandbuch für Amazon ECR.
-
Einzelheiten zur API finden Sie StartImageScan
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungstart-lifecycle-policy-preview.
- AWS CLI
-
So erstellen Sie eine Lebenszyklus-Richtlinienvorschau
Im folgenden Beispiel für
start-lifecycle-policy-previewwird eine Lebenszyklus-Richtlinienvorschau, die durch eine JSON-Datei definiert ist, für das angegebene Repository erstellt.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
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungtag-resource.
- AWS CLI
-
So taggen Sie ein Repository
Im folgenden Beispiel für
tag-resourcewird ein Tag mit dem SchlüsselStageund dem WertIntegimhello-world-Repository 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
-
So heben Sie die Markierung eines Repositorys auf
Im folgenden Beispiel für
untag-resourcewird das Tag mit dem SchlüsselStageaus demhello-world-Repository 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
-
So laden Sie einen Layer-Teil hoch
Im folgenden Beispiel für
upload-layer-partwird ein Teil des Image-Layers in daslayer-test-Repository hochgeladen.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.
-