Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Contoh Amazon ECR menggunakan AWS CLI
Contoh kode berikut menunjukkan cara melakukan tindakan dan menerapkan skenario umum dengan menggunakan AWS Command Line Interface dengan Amazon ECR.
Tindakan merupakan kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Sementara tindakan menunjukkan cara memanggil fungsi layanan individual, Anda dapat melihat tindakan dalam konteks dalam skenario terkait.
Setiap contoh menyertakan tautan ke kode sumber lengkap, di mana Anda dapat menemukan instruksi tentang cara mengatur dan menjalankan kode dalam konteks.
Topik
Tindakan
Contoh kode berikut menunjukkan cara menggunakanbatch-check-layer-availability.
- AWS CLI
-
Untuk memeriksa ketersediaan lapisan
batch-check-layer-availabilityContoh berikut memeriksa ketersediaan lapisan dengan intisarisha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834eddicluster-autoscalerrepositori.aws ecr batch-check-layer-availability \ --repository-namecluster-autoscaler\ --layer-digestssha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edOutput:
{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }-
Untuk detail API, lihat BatchCheckLayerAvailability
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanbatch-delete-image.
- AWS CLI
-
Contoh 1: Untuk menghapus gambar
batch-delete-imageContoh berikut menghapus gambar dengan tagprecisedi repositori yang ditentukan di registri default untuk akun.aws ecr batch-delete-image \ --repository-nameubuntu\ --image-idsimageTag=preciseOutput:
{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }Contoh 2: Untuk menghapus beberapa gambar
batch-delete-imageContoh berikut menghapus semua gambar yang ditandai denganproddanteam1di repositori yang ditentukan.aws ecr batch-delete-image \ --repository-nameMyRepository\ --image-idsimageTag=prodimageTag=team1Output:
{ "imageIds": [ { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, { "imageDigest": "sha256:567890121234", "imageTag": "team1" } ], "failures": [] }Untuk informasi selengkapnya, lihat Menghapus Gambar di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat BatchDeleteImage
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanbatch-get-image.
- AWS CLI
-
Contoh 1: Untuk mendapatkan gambar
batch-get-imageContoh berikut mendapatkan gambar dengan tagv1.13.6di repositori yang dipanggilcluster-autoscalerdi registri default untuk sebuah akun.aws ecr batch-get-image \ --repository-namecluster-autoscaler\ --image-idsimageTag=v1.13.6Output:
{ "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": [] }Contoh 2: Untuk mendapatkan banyak gambar
batch-get-imageContoh berikut menampilkan rincian semua gambar yang ditandai denganproddanteam1dalam repositori yang ditentukan.aws ecr batch-get-image \ --repository-nameMyRepository\ --image-idsimageTag=prodimageTag=team1Output:
{ "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": [] }Untuk informasi selengkapnya, lihat Gambar di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat BatchGetImage
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakancomplete-layer-upload.
- AWS CLI
-
Untuk menyelesaikan upload layer gambar
complete-layer-uploadContoh berikut melengkapi upload layer gambar kelayer-testrepositori.aws ecr complete-layer-upload \ --repository-namelayer-test\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9\ --layer-digests6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323eOutput:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }-
Untuk detail API, lihat CompleteLayerUpload
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakancreate-repository.
- AWS CLI
-
Contoh 1: Untuk membuat repositori
create-repositoryContoh berikut membuat repositori di dalam namespace yang ditentukan dalam registri default untuk akun.aws ecr create-repository \ --repository-nameproject-a/sample-repoOutput:
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo" } }Untuk informasi selengkapnya, lihat Membuat Repositori di Panduan Pengguna Amazon ECR.
Contoh 2: Untuk membuat repositori yang dikonfigurasi dengan tag gambar yang tidak dapat diubah
create-repositoryContoh berikut membuat repositori yang dikonfigurasi untuk kekekalan tag di registri default untuk akun.aws ecr create-repository \ --repository-nameproject-a/sample-repo\ --image-tag-mutabilityIMMUTABLEOutput:
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageTagMutability": "IMMUTABLE" } }Untuk informasi selengkapnya, lihat Mutabilitas Tag Gambar di Panduan Pengguna Amazon ECR.
Contoh 3: Untuk membuat repositori yang dikonfigurasi dengan konfigurasi pemindaian
create-repositoryContoh berikut membuat repositori yang dikonfigurasi untuk melakukan pemindaian kerentanan pada push gambar di registri default untuk akun.aws ecr create-repository \ --repository-nameproject-a/sample-repo\ --image-scanning-configurationscanOnPush=trueOutput:
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageScanningConfiguration": { "scanOnPush": true } } }Untuk informasi selengkapnya, lihat Pemindaian Gambar di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat CreateRepository
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandelete-lifecycle-policy.
- AWS CLI
-
Untuk menghapus kebijakan siklus hidup untuk repositori
delete-lifecycle-policyContoh berikut menghapus kebijakan siklus hidup untukhello-worldrepositori.aws ecr delete-lifecycle-policy \ --repository-namehello-worldOutput:
{ "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 }-
Untuk detail API, lihat DeleteLifecyclePolicy
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandelete-repository-policy.
- AWS CLI
-
Untuk menghapus kebijakan repositori untuk repositori
delete-repository-policyContoh berikut menghapus kebijakan repositori untuk repositcluster-autoscalerori.aws ecr delete-repository-policy \ --repository-namecluster-autoscalerOutput:
{ "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}" }-
Untuk detail API, lihat DeleteRepositoryPolicy
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandelete-repository.
- AWS CLI
-
Untuk menghapus repositori
delete-repositoryContoh perintah berikut ini menghapus repositori yang ditentukan dalam registri default untuk akun.--forceBendera diperlukan jika repositori berisi gambar.aws ecr delete-repository \ --repository-nameubuntu\ --forceOutput:
{ "repository": { "registryId": "123456789012", "repositoryName": "ubuntu", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/ubuntu" } }Untuk informasi selengkapnya, lihat Menghapus Repositori di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat DeleteRepository
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandescribe-image-scan-findings.
- AWS CLI
-
Untuk menggambarkan temuan pemindaian untuk gambar
describe-image-scan-findingsContoh berikut mengembalikan temuan pemindaian gambar untuk gambar menggunakan ringkasan gambar di repositori yang ditentukan di registri default untuk akun.aws ecr describe-image-scan-findings \ --repository-namesample-repo\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6Output:
{ "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." } }Untuk informasi selengkapnya, lihat Pemindaian Gambar di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat DescribeImageScanFindings
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandescribe-images.
- AWS CLI
-
Untuk mendeskripsikan gambar dalam repositori
describe-imagesContoh berikut menampilkan detail tentang gambar dicluster-autoscalerrepositori dengan tagv1.13.6.aws ecr describe-images \ --repository-namecluster-autoscaler\ --image-idsimageTag=v1.13.6Output:
{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }-
Untuk detail API, lihat DescribeImages
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandescribe-repositories.
- AWS CLI
-
Untuk mendeskripsikan repositori dalam registri
Contoh ini menjelaskan repositori di registri default untuk akun.
Perintah:
aws ecr describe-repositoriesOutput:
{ "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" } ] }-
Untuk detail API, lihat DescribeRepositories
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-authorization-token.
- AWS CLI
-
Untuk mendapatkan token otorisasi untuk registri default Anda
Perintah
get-authorization-tokencontoh berikut mendapatkan token otorisasi untuk registri default Anda.aws ecr get-authorization-tokenOutput:
{ "authorizationData": [ { "authorizationToken": "QVdTOkN...", "expiresAt": 1448875853.241, "proxyEndpoint": "https://123456789012.dkr.ecr.us-west-2.amazonaws.com" } ] }-
Untuk detail API, lihat GetAuthorizationToken
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-download-url-for-layer.
- AWS CLI
-
Untuk mendapatkan URL unduhan dari sebuah layer
get-download-url-for-layerContoh berikut menampilkan URL unduhan dari lapisan dengan intisarisha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834eddicluster-autoscalerrepositori.aws ecr get-download-url-for-layer \ --repository-namecluster-autoscaler\ --layer-digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edOutput:
{ "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" }-
Untuk detail API, lihat GetDownloadUrlForLayer
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-lifecycle-policy-preview.
- AWS CLI
-
Untuk mengambil detail untuk pratinjau kebijakan siklus hidup
get-lifecycle-policy-previewContoh berikut mengambil hasil pratinjau kebijakan siklus hidup untuk repositori yang ditentukan dalam registri default untuk akun.Perintah:
aws ecr get-lifecycle-policy-preview \ --repository-name"project-a/amazon-ecs-sample"Output:
{ "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 } }Untuk informasi selengkapnya, lihat Kebijakan Siklus Hidup di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat GetLifecyclePolicyPreview
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-lifecycle-policy.
- AWS CLI
-
Untuk mengambil kebijakan siklus hidup
get-lifecycle-policyContoh berikut menampilkan rincian kebijakan siklus hidup untuk repositori yang ditentukan dalam registri default untuk akun.aws ecr get-lifecycle-policy \ --repository-name"project-a/amazon-ecs-sample"Output:
{ "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 }Untuk informasi selengkapnya, lihat Kebijakan Siklus Hidup di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat GetLifecyclePolicy
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-login-password.
- AWS CLI
-
Untuk mengambil kata sandi untuk mengotentikasi ke registri
Berikut ini
get-login-passwordmenampilkan kata sandi yang dapat Anda gunakan dengan klien kontainer pilihan Anda untuk mengotentikasi ke registri Amazon ECR mana pun yang dapat diakses oleh kepala sekolah IAM Anda.aws ecr get-login-passwordOutput:
<password>Untuk digunakan dengan Docker CLI, masukkan output
get-login-passwordperintah ke perintahdocker login. Saat mengambil kata sandi, pastikan Anda menentukan Wilayah yang sama tempat registri Amazon ECR Anda ada.aws ecr get-login-password \ --region<region>\|dockerlogin\ --usernameAWS\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.comUntuk informasi selengkapnya, lihat Otentikasi Registri di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat GetLoginPassword
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-login.
- AWS CLI
-
Untuk mengambil perintah login Docker ke registri default Anda
Contoh ini mencetak perintah yang dapat Anda gunakan untuk masuk ke registri Amazon ECR default Anda.
Perintah:
aws ecr get-loginOutput:
docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.comUntuk masuk ke registri akun lain
Contoh ini mencetak satu atau lebih perintah yang dapat Anda gunakan untuk masuk ke registri Amazon ECR yang terkait dengan akun lain.
Perintah:
aws ecr get-login --registry-ids012345678910023456789012Output:
docker login -u <username> -p <token-1> -e none <endpoint-1> docker login -u <username> -p <token-2> -e none <endpoint-2>-
Untuk detail API, lihat GetLogin
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-repository-policy.
- AWS CLI
-
Untuk mengambil kebijakan repositori untuk repositori
get-repository-policyContoh berikut menampilkan detail tentang kebijakan repositori untukcluster-autoscalerrepositori.aws ecr get-repository-policy \ --repository-namecluster-autoscalerOutput:
{ "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}" }-
Untuk detail API, lihat GetRepositoryPolicy
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakaninitiate-layer-upload.
- AWS CLI
-
Untuk memulai pengunggahan lapisan gambar
initiate-layer-uploadContoh berikut memulai upload layer gambar kelayer-testrepositori.aws ecr initiate-layer-upload \ --repository-namelayer-testOutput:
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }-
Untuk detail API, lihat InitiateLayerUpload
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanlist-images.
- AWS CLI
-
Untuk mencantumkan gambar dalam repositori
list-imagesContoh berikut menampilkan daftar gambar dicluster-autoscalerrepositori.aws ecr list-images \ --repository-namecluster-autoscalerOutput:
{ "imageIds": [ { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.8" }, { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.7" }, { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" } ] }-
Untuk detail API, lihat ListImages
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanlist-tags-for-resource.
- AWS CLI
-
Untuk membuat daftar tag untuk repositori
list-tags-for-resourceContoh berikut menampilkan daftar tag yang terkait denganhello-worldrepositori.aws ecr list-tags-for-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-worldOutput:
{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }-
Untuk detail API, lihat ListTagsForResource
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanput-image-scanning-configuration.
- AWS CLI
-
Untuk memperbarui konfigurasi pemindaian gambar untuk repositori
put-image-scanning-configurationContoh berikut memperbarui konfigurasi pemindaian gambar untuk repositori yang ditentukan.aws ecr put-image-scanning-configuration \ --repository-namesample-repo\ --image-scanning-configurationscanOnPush=trueOutput:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageScanningConfiguration": { "scanOnPush": true } }Untuk informasi selengkapnya, lihat Pemindaian Gambar di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat PutImageScanningConfiguration
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanput-image-tag-mutability.
- AWS CLI
-
Untuk memperbarui pengaturan mutabilitas tag gambar untuk repositori
put-image-tag-mutabilityContoh berikut mengonfigurasi repositori yang ditentukan untuk kekekalan tag. Ini mencegah semua tag gambar di dalam repositori agar tidak dituliskan.aws ecr put-image-tag-mutability \ --repository-namehello-repository\ --image-tag-mutabilityIMMUTABLEOutput:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }Untuk informasi selengkapnya, lihat Mutabilitas Tag Gambar di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat PutImageTagMutability
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanput-image.
- AWS CLI
-
Untuk menandai ulang gambar dengan manifesnya
put-imageContoh berikut membuat tag baru dihello-worldrepositori dengan manifes gambar yang ada.aws ecr put-image \ --repository-namehello-world\ --image-tag2019.08\ --image-manifestfile://hello-world.manifest.jsonIsi dari
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" } ] }Output:
{ "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" } }-
Untuk detail API, lihat PutImage
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanput-lifecycle-policy.
- AWS CLI
-
Untuk membuat kebijakan siklus hidup
put-lifecycle-policyContoh berikut membuat kebijakan siklus hidup untuk repositori yang ditentukan di registri default untuk akun.aws ecr put-lifecycle-policy \ --repository-name"project-a/amazon-ecs-sample"\ --lifecycle-policy-text"file://policy.json"Isi dari
policy.json:{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }Output:
{ "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\"}}]}" }Untuk informasi selengkapnya, lihat Kebijakan Siklus Hidup di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat PutLifeCyclePolicy
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanset-repository-policy.
- AWS CLI
-
Untuk mengatur kebijakan repositori untuk repositori
set-repository-policyContoh berikut melampirkan kebijakan repositori yang terkandung dalam file kecluster-autoscalerrepositori.aws ecr set-repository-policy \ --repository-namecluster-autoscaler\ --policy-textfile://my-policy.jsonIsi dari
my-policy.json:{ "Version":"2012-10-17", "Statement" : [ { "Sid" : "allow public pull", "Effect" : "Allow", "Principal" : "*", "Action" : [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }Output:
{ "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}" }-
Untuk detail API, lihat SetRepositoryPolicy
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanstart-image-scan.
- AWS CLI
-
Untuk memulai pemindaian kerentanan gambar
start-image-scanContoh berikut memulai pemindaian gambar untuk dan ditentukan oleh ringkasan gambar di repositori yang ditentukan.aws ecr start-image-scan \ --repository-namesample-repo\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6Output:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageId": { "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6" }, "imageScanStatus": { "status": "IN_PROGRESS" } }Untuk informasi selengkapnya, lihat Pemindaian Gambar di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat StartImageScan
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanstart-lifecycle-policy-preview.
- AWS CLI
-
Untuk membuat pratinjau kebijakan siklus hidup
start-lifecycle-policy-previewContoh berikut membuat pratinjau kebijakan siklus hidup yang ditentukan oleh file JSON untuk repositori yang ditentukan.aws ecr start-lifecycle-policy-preview \ --repository-name"project-a/amazon-ecs-sample"\ --lifecycle-policy-text"file://policy.json"Isi dari
policy.json:{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }Output:
{ "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" }-
Untuk detail API, lihat StartLifecyclePolicyPreview
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakantag-resource.
- AWS CLI
-
Untuk menandai repositori
tag-resourceContoh berikut menetapkan tag dengan kunciStagedan nilaiIntegpadahello-worldrepositori.aws ecr tag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tagsKey=Stage,Value=IntegPerintah ini tidak menghasilkan output.
-
Untuk detail API, lihat TagResource
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanuntag-resource.
- AWS CLI
-
Untuk menghapus tag repositori
untag-resourceContoh berikut menghapus tag dengan kunciStagedarihello-worldrepositori.aws ecr untag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tag-keysStagePerintah ini tidak menghasilkan output.
-
Untuk detail API, lihat UntagResource
di Refer AWS CLI ensi Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanupload-layer-part.
- AWS CLI
-
Untuk mengunggah bagian lapisan
Berikut ini
upload-layer-partmengunggah bagian lapisan gambar kelayer-testrepositori.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.b64Output:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }-
Untuk detail API, lihat UploadLayerPart
di Refer AWS CLI ensi Perintah.
-