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.
ECRAmazon-Beispiele mit AWS CLI
Die folgenden Codebeispiele zeigen Ihnen, wie Sie Aktionen ausführen und allgemeine Szenarien implementieren, indem Sie AWS Command Line Interface mit Amazon verwendenECR.
Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Aktionen zeigen Ihnen zwar, wie Sie einzelne Servicefunktionen aufrufen, aber Sie können Aktionen im Kontext der zugehörigen Szenarien sehen.
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-availability
Beispiel wird die Verfügbarkeit eines Layers mit dem Digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
imcluster-autoscaler
Repository überprüft.aws ecr batch-check-layer-availability \ --repository-name
cluster-autoscaler
\ --layer-digestssha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
Ausgabe:
{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }
-
APIEinzelheiten 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-image
Beispiel wird ein Bild mit dem Tagprecise
im angegebenen Repository in der Standardregistrierung für ein Konto gelöscht.aws ecr batch-delete-image \ --repository-name
ubuntu
\ --image-idsimageTag=precise
Ausgabe:
{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }
Beispiel 2: Um mehrere Bilder zu löschen
Im folgenden
batch-delete-image
Beispiel werden alle Bilder gelöscht, die mitprod
undteam1
im angegebenen Repository markiert sind.aws ecr batch-delete-image \ --repository-name
MyRepository
\ --image-idsimageTag=prod
imageTag=team1
Ausgabe:
{ "imageIds": [ { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, { "imageDigest": "sha256:567890121234", "imageTag": "team1" } ], "failures": [] }
Weitere Informationen finden Sie unter Löschen eines Bilds im ECRAmazon-Benutzerhandbuch.
-
APIEinzelheiten finden Sie BatchDeleteImage
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungbatch-get-image
.
- AWS CLI
-
Beispiel 1: Um ein Bild zu erhalten
Im folgenden
batch-get-image
Beispiel wird ein Bild mit dem Tagv1.13.6
in einem Repository abgerufen, dascluster-autoscaler
in der Standardregistrierung für ein Konto aufgerufen wird.aws ecr batch-get-image \ --repository-name
cluster-autoscaler
\ --image-idsimageTag=v1.13.6
Ausgabe:
{ "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-image
Beispiel werden Details zu allen Bildern angezeigt, die mitprod
undteam1
im angegebenen Repository markiert sind.aws ecr batch-get-image \ --repository-name
MyRepository
\ --image-idsimageTag=prod
imageTag=team1
Ausgabe:
{ "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 ECRAmazon-Benutzerhandbuch.
-
APIEinzelheiten 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-upload
Beispiel wird der Upload einer Bildebene in daslayer-test
Repository abgeschlossen.aws ecr complete-layer-upload \ --repository-name
layer-test
\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9
\ --layer-digests6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e
Ausgabe:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }
-
APIEinzelheiten 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-repository
Beispiel wird ein Repository innerhalb des angegebenen Namespace in der Standardregistrierung für ein Konto erstellt.aws ecr create-repository \ --repository-name
project-a/sample-repo
Ausgabe:
{ "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 ECRAmazon-Benutzerhandbuch.
Beispiel 2: Um ein Repository zu erstellen, das mit der Unveränderlichkeit des Image-Tags konfiguriert ist
Im folgenden
create-repository
Beispiel 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-name
project-a/sample-repo
\ --image-tag-mutabilityIMMUTABLE
Ausgabe:
{ "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 ECRAmazon-Benutzerhandbuch.
Beispiel 3: So erstellen Sie ein Repository, das mit einer Scan-Konfiguration konfiguriert ist
Im folgenden
create-repository
Beispiel 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-name
project-a/sample-repo
\ --image-scanning-configurationscanOnPush=true
Ausgabe:
{ "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 Bildern im ECRAmazon-Benutzerhandbuch.
-
APIEinzelheiten 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-policy
Beispiel wird die Lebenszyklusrichtlinie für dashello-world
Repository gelöscht.aws ecr delete-lifecycle-policy \ --repository-name
hello-world
Ausgabe:
{ "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 }
-
APIEinzelheiten 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-policy
Beispiel wird die Repository-Richtlinie für dascluster-autoscaler
Repository gelöscht.aws ecr delete-repository-policy \ --repository-name
cluster-autoscaler
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}" }
-
APIEinzelheiten finden Sie DeleteRepositoryPolicy
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungdelete-repository
.
- AWS CLI
-
So löschen Sie ein Repository
Das folgende
delete-repository
Beispiel mit Command Force löscht das angegebene Repository in der Standardregistrierung für ein Konto. Das--force
Flag ist erforderlich, wenn das Repository Bilder enthält.aws ecr delete-repository \ --repository-name
ubuntu
\ --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 ECRAmazon-Benutzerhandbuch.
-
APIEinzelheiten finden Sie DeleteRepository
in der 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-findings
Beispiel 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-name
sample-repo
\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6
Ausgabe:
{ "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 Bildern im ECRAmazon-Benutzerhandbuch.
-
APIEinzelheiten 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-images
Beispiel werden Details zu einem Bild imcluster-autoscaler
Repository mit dem Tagv1.13.6
angezeigt.aws ecr describe-images \ --repository-name
cluster-autoscaler
\ --image-idsimageTag=v1.13.6
Ausgabe:
{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }
-
APIEinzelheiten finden Sie DescribeImages
in der 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-repositories
Ausgabe:
{ "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" } ] }
-
APIEinzelheiten 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-token
Beispielbefehl wird ein Autorisierungstoken für Ihre Standardregistrierung abgerufen.aws ecr get-authorization-token
Ausgabe:
{ "authorizationData": [ { "authorizationToken": "QVdTOkN...", "expiresAt": 1448875853.241, "proxyEndpoint": "https://123456789012.dkr.ecr.us-west-2.amazonaws.com" } ] }
-
APIEinzelheiten finden Sie GetAuthorizationToken
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungget-download-url-for-layer
.
- AWS CLI
-
Um den Download URL eines Layers zu erhalten
Das folgende
get-download-url-for-layer
Beispiel zeigt den Download URL eines Layers mit dem Digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
imcluster-autoscaler
Repository.aws ecr get-download-url-for-layer \ --repository-name
cluster-autoscaler
\ --layer-digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
Ausgabe:
{ "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" }
-
APIEinzelheiten 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-preview
Beispiel 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 ECRAmazon-Benutzerhandbuch.
-
APIEinzelheiten 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-policy
Beispiel 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 ECRAmazon-Benutzerhandbuch.
-
APIEinzelheiten 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-password
wird ein Passwort angezeigt, das Sie mit einem Container-Client Ihrer Wahl verwenden können, um sich bei jeder ECR Amazon-Registrierung zu authentifizieren, auf die Ihr IAM Principal Zugriff hat.aws ecr get-login-password
Ausgabe:
<password>
Um es mit dem Docker zu verwendenCLI, leiten Sie die Ausgabe des Befehls an den
get-login-password
Befehl weiter.docker login
Achten Sie beim Abrufen des Passworts darauf, dass Sie dieselbe Region angeben, in der sich Ihre ECR Amazon-Registrierung befindet.aws ecr get-login-password \ --region
<region>
\|
docker
login
\ --usernameAWS
\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.com
Weitere Informationen finden Sie unter Registry Authentication im ECRAmazon-Benutzerhandbuch.
-
APIEinzelheiten finden Sie GetLoginPassword
in der 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 Amazon-Standardregistrierung anmelden ECR können.
Befehl:
aws ecr get-login
Ausgabe:
docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com
Um sich bei der Registrierung eines anderen Kontos anzumelden
In diesem Beispiel werden ein oder mehrere Befehle gedruckt, mit denen Sie sich Amazon ECR Amazon-Registern anmelden können, die mit anderen Konten verknüpft sind.
Befehl:
aws ecr get-login --registry-ids
012345678910
023456789012
Ausgabe:
docker login -u <username> -p <token-1> -e none <endpoint-1> docker login -u <username> -p <token-2> -e none <endpoint-2>
-
APIEinzelheiten finden Sie unter GetLogin 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-policy
Beispiel werden Details zur Repository-Richtlinie für dascluster-autoscaler
Repository angezeigt.aws ecr get-repository-policy \ --repository-name
cluster-autoscaler
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}" }
-
APIEinzelheiten 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-upload
Beispiel wird ein Upload einer Bildebene in daslayer-test
Repository initiiert.aws ecr initiate-layer-upload \ --repository-name
layer-test
Ausgabe:
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }
-
APIEinzelheiten 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-images
Beispiel wird eine Liste der Bilder imcluster-autoscaler
Repository angezeigt.aws ecr list-images \ --repository-name
cluster-autoscaler
Ausgabe:
{ "imageIds": [ { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.8" }, { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.7" }, { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" } ] }
-
APIEinzelheiten 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-resource
Beispiel wird eine Liste der mit demhello-world
Repository verknüpften Tags angezeigt.aws ecr list-tags-for-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
Ausgabe:
{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }
-
APIEinzelheiten 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-configuration
Beispiel wird die Konfiguration für das Scannen von Bildern für das angegebene Repository aktualisiert.aws ecr put-image-scanning-configuration \ --repository-name
sample-repo
\ --image-scanning-configurationscanOnPush=true
Ausgabe:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageScanningConfiguration": { "scanOnPush": true } }
Weitere Informationen finden Sie unter Scannen von Bildern im ECRAmazon-Benutzerhandbuch.
-
APIEinzelheiten 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-mutability
Beispiel 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-name
hello-repository
\ --image-tag-mutabilityIMMUTABLE
Ausgabe:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }
Weitere Informationen finden Sie unter Image Tag Mutability im ECRAmazon-Benutzerhandbuch.
-
APIEinzelheiten finden Sie PutImageTagMutability
in der AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungput-image
.
- AWS CLI
-
Um ein Bild mit seinem Manifest neu zu taggen
Im folgenden
put-image
Beispiel wird ein neues Tag imhello-world
Repository mit einem vorhandenen Image-Manifest erstellt.aws ecr put-image \ --repository-name
hello-world
\ --image-tag2019.08
\ --image-manifestfile://hello-world.manifest.json
Inhalt 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" } }
-
APIEinzelheiten 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-policy
Beispiel 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 ECRAmazon-Benutzerhandbuch.
-
APIEinzelheiten 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-policy
Beispiel wird eine in einer Datei enthaltene Repository-Richtlinie an dascluster-autoscaler
Repository angehängt.aws ecr set-repository-policy \ --repository-name
cluster-autoscaler
\ --policy-textfile://my-policy.json
Inhalt 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}" }
-
APIEinzelheiten 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-scan
Beispiel wird ein Image-Scan für den Image-Digest im angegebenen Repository gestartet und von diesem spezifiziert.aws ecr start-image-scan \ --repository-name
sample-repo
\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6
Ausgabe:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageId": { "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6" }, "imageScanStatus": { "status": "IN_PROGRESS" } }
Weitere Informationen finden Sie unter Scannen von Bildern im ECRAmazon-Benutzerhandbuch.
-
APIEinzelheiten 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-preview
Beispiel wird eine Lifecycle-Policy-Vorschau 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" }
-
APIEinzelheiten finden Sie StartLifecyclePolicyPreview
unter AWS CLI Befehlsreferenz.
-
Das folgende Codebeispiel zeigt die Verwendungtag-resource
.
- AWS CLI
-
Um ein Repository zu taggen
Im folgenden
tag-resource
Beispiel wird ein Tag mit SchlüsselStage
und WertInteg
für dashello-world
Repository festgelegt.aws ecr tag-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
\ --tagsKey=Stage,Value=Integ
Mit diesem Befehl wird keine Ausgabe zurückgegeben.
-
APIEinzelheiten 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-resource
Beispiel wird das Tag mit dem SchlüsselStage
aus demhello-world
Repository entfernt.aws ecr untag-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
\ --tag-keysStage
Mit diesem Befehl wird keine Ausgabe zurückgegeben.
-
APIEinzelheiten 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-test
Repositoryupload-layer-part
hochgeladen.aws ecr upload-layer-part \ --repository-name
layer-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.b64
Ausgabe:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }
-
APIEinzelheiten finden Sie UploadLayerPart
in der AWS CLI Befehlsreferenz.
-