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 mengimplementasikan skenario umum dengan menggunakan AWS Command Line Interface With Amazon ECR.
Tindakan adalah 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-availability
Contoh berikut memeriksa ketersediaan lapisan dengan intisarisha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
dicluster-autoscaler
repositori.aws ecr batch-check-layer-availability \ --repository-name
cluster-autoscaler
\ --layer-digestssha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
Output:
{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }
-
Untuk detail API, lihat BatchCheckLayerAvailability
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanbatch-delete-image
.
- AWS CLI
-
Contoh 1: Untuk menghapus gambar
batch-delete-image
Contoh berikut menghapus gambar dengan tagprecise
di repositori yang ditentukan dalam registri default untuk akun.aws ecr batch-delete-image \ --repository-name
ubuntu
\ --image-idsimageTag=precise
Output:
{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }
Contoh 2: Untuk menghapus beberapa gambar
batch-delete-image
Contoh berikut menghapus semua gambar yang ditandai denganprod
danteam1
di repositori yang ditentukan.aws ecr batch-delete-image \ --repository-name
MyRepository
\ --image-idsimageTag=prod
imageTag=team1
Output:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanbatch-get-image
.
- AWS CLI
-
Contoh 1: Untuk mendapatkan gambar
batch-get-image
Contoh berikut mendapatkan gambar dengan tagv1.13.6
dalam repositori yang disebutcluster-autoscaler
dalam registri default untuk akun.aws ecr batch-get-image \ --repository-name
cluster-autoscaler
\ --image-idsimageTag=v1.13.6
Output:
{ "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-image
Contoh berikut menampilkan rincian semua gambar yang ditandai denganprod
danteam1
dalam repositori yang ditentukan.aws ecr batch-get-image \ --repository-name
MyRepository
\ --image-idsimageTag=prod
imageTag=team1
Output:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakancomplete-layer-upload
.
- AWS CLI
-
Untuk menyelesaikan unggahan lapisan gambar
complete-layer-upload
Contoh berikut melengkapi upload layer gambar kelayer-test
repositori.aws ecr complete-layer-upload \ --repository-name
layer-test
\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9
\ --layer-digests6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e
Output:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }
-
Untuk detail API, lihat CompleteLayerUpload
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakancreate-repository
.
- AWS CLI
-
Contoh 1: Untuk membuat repositori
create-repository
Contoh berikut membuat repositori di dalam namespace yang ditentukan dalam registri default untuk akun.aws ecr create-repository \ --repository-name
project-a/sample-repo
Output:
{ "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 immutabilitas tag gambar
create-repository
Contoh berikut membuat repositori dikonfigurasi untuk kekekalan tag dalam registri default untuk akun.aws ecr create-repository \ --repository-name
project-a/sample-repo
\ --image-tag-mutabilityIMMUTABLE
Output:
{ "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-repository
Contoh berikut membuat repositori yang dikonfigurasi untuk melakukan pemindaian kerentanan pada push gambar di registri default untuk akun.aws ecr create-repository \ --repository-name
project-a/sample-repo
\ --image-scanning-configurationscanOnPush=true
Output:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandelete-lifecycle-policy
.
- AWS CLI
-
Untuk menghapus kebijakan siklus hidup untuk repositori
delete-lifecycle-policy
Contoh berikut menghapus kebijakan siklus hidup untuk repositori.hello-world
aws ecr delete-lifecycle-policy \ --repository-name
hello-world
Output:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandelete-repository-policy
.
- AWS CLI
-
Untuk menghapus kebijakan repositori untuk repositori
delete-repository-policy
Contoh berikut menghapus kebijakan repositori untuk repositori.cluster-autoscaler
aws ecr delete-repository-policy \ --repository-name
cluster-autoscaler
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 DeleteRepositoryPolicy
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandelete-repository
.
- AWS CLI
-
Untuk menghapus repositori
delete-repository
Contoh perintah force berikut menghapus repositori yang ditentukan dalam registri default untuk akun.--force
Bendera diperlukan jika repositori berisi gambar.aws ecr delete-repository \ --repository-name
ubuntu
\ --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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandescribe-image-scan-findings
.
- AWS CLI
-
Untuk menggambarkan temuan pemindaian untuk sebuah gambar
describe-image-scan-findings
Contoh berikut mengembalikan temuan pemindaian gambar untuk gambar menggunakan intisari gambar di repositori tertentu dalam registri default untuk akun.aws ecr describe-image-scan-findings \ --repository-name
sample-repo
\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6
Output:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandescribe-images
.
- AWS CLI
-
Untuk menggambarkan gambar dalam repositori
describe-images
Contoh berikut menampilkan detail tentang gambar dicluster-autoscaler
repositori dengan tag.v1.13.6
aws ecr describe-images \ --repository-name
cluster-autoscaler
\ --image-idsimageTag=v1.13.6
Output:
{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }
-
Untuk detail API, lihat DescribeImages
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakandescribe-repositories
.
- AWS CLI
-
Untuk menggambarkan repositori dalam registri
Contoh ini menjelaskan repositori dalam registri default untuk akun.
Perintah:
aws ecr describe-repositories
Output:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-authorization-token
.
- AWS CLI
-
Untuk mendapatkan token otorisasi untuk registri default Anda
get-authorization-token
Contoh perintah berikut mendapatkan token otorisasi untuk registri default Anda.aws ecr get-authorization-token
Output:
{ "authorizationData": [ { "authorizationToken": "QVdTOkN...", "expiresAt": 1448875853.241, "proxyEndpoint": "https://123456789012.dkr.ecr.us-west-2.amazonaws.com" } ] }
-
Untuk detail API, lihat GetAuthorizationToken
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-download-url-for-layer
.
- AWS CLI
-
Untuk mendapatkan URL unduhan lapisan
get-download-url-for-layer
Contoh berikut menampilkan URL unduhan lapisan dengan intisarisha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
dicluster-autoscaler
repositori.aws ecr get-download-url-for-layer \ --repository-name
cluster-autoscaler
\ --layer-digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
Output:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-lifecycle-policy-preview
.
- AWS CLI
-
Untuk mengambil detail untuk pratinjau kebijakan siklus hidup
get-lifecycle-policy-preview
Contoh 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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-lifecycle-policy
.
- AWS CLI
-
Untuk mengambil kebijakan siklus hidup
get-lifecycle-policy
Contoh 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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-login-password
.
- AWS CLI
-
Untuk mengambil kata sandi untuk mengautentikasi ke registri
Berikut ini
get-login-password
menampilkan kata sandi yang dapat Anda gunakan dengan klien kontainer pilihan Anda untuk mengautentikasi ke registri ECR Amazon mana pun yang dapat diakses oleh kepala sekolah IAM Anda.aws ecr get-login-password
Output:
<password>
Untuk digunakan dengan CLI Docker, pipa output perintah
get-login-password
kedocker login
perintah. Saat mengambil kata sandi, pastikan Anda menentukan Wilayah yang sama dengan registri ECR Amazon Anda.aws ecr get-login-password \ --region
<region>
\|
docker
login
\ --usernameAWS
\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.com
Untuk informasi selengkapnya, lihat Otentikasi Registri di Panduan Pengguna Amazon ECR.
-
Untuk detail API, lihat GetLoginPassword
di Referensi AWS CLI 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-login
Output:
docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com
Untuk masuk ke registri akun lain
Contoh ini mencetak satu atau beberapa perintah yang dapat Anda gunakan untuk masuk ke pendaftar Amazon ECR yang terkait dengan akun lain.
Perintah:
aws ecr get-login --registry-ids
012345678910
023456789012
Output:
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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanget-repository-policy
.
- AWS CLI
-
Untuk mengambil kebijakan repositori untuk repositori
get-repository-policy
Contoh berikut menampilkan rincian tentang kebijakan repositori untuk repositori.cluster-autoscaler
aws ecr get-repository-policy \ --repository-name
cluster-autoscaler
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 GetRepositoryPolicy
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakaninitiate-layer-upload
.
- AWS CLI
-
Untuk memulai unggahan lapisan gambar
initiate-layer-upload
Contoh berikut memulai upload layer gambar kelayer-test
repositori.aws ecr initiate-layer-upload \ --repository-name
layer-test
Output:
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }
-
Untuk detail API, lihat InitiateLayerUpload
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanlist-images
.
- AWS CLI
-
Untuk daftar gambar dalam repositori
list-images
Contoh berikut menampilkan daftar gambar dalamcluster-autoscaler
repositori.aws ecr list-images \ --repository-name
cluster-autoscaler
Output:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanlist-tags-for-resource
.
- AWS CLI
-
Untuk daftar tag untuk repositori
list-tags-for-resource
Contoh berikut menampilkan daftar tag yang terkait denganhello-world
repositori.aws ecr list-tags-for-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
Output:
{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }
-
Untuk detail API, lihat ListTagsForResource
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanput-image-scanning-configuration
.
- AWS CLI
-
Untuk memperbarui konfigurasi pemindaian gambar untuk repositori
put-image-scanning-configuration
Contoh berikut memperbarui konfigurasi pemindaian gambar untuk repositori yang ditentukan.aws ecr put-image-scanning-configuration \ --repository-name
sample-repo
\ --image-scanning-configurationscanOnPush=true
Output:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanput-image-tag-mutability
.
- AWS CLI
-
Untuk memperbarui pengaturan mutabilitas tag gambar untuk repositori
put-image-tag-mutability
Contoh berikut mengkonfigurasi repositori yang ditentukan untuk kekekalan tag. Ini mencegah semua tag gambar dalam repositori ditimpa.aws ecr put-image-tag-mutability \ --repository-name
hello-repository
\ --image-tag-mutabilityIMMUTABLE
Output:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanput-image
.
- AWS CLI
-
Untuk menandai ulang gambar dengan manifesnya
put-image
Contoh berikut membuat tag baru dihello-world
repositori dengan manifes gambar yang ada.aws ecr put-image \ --repository-name
hello-world
\ --image-tag2019.08
\ --image-manifestfile://hello-world.manifest.json
Isi 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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanput-lifecycle-policy
.
- AWS CLI
-
Untuk membuat kebijakan siklus hidup
put-lifecycle-policy
Contoh berikut membuat kebijakan siklus hidup untuk repositori yang ditentukan dalam 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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanset-repository-policy
.
- AWS CLI
-
Untuk menetapkan kebijakan repositori untuk repositori
set-repository-policy
Contoh berikut melampirkan kebijakan repositori yang terkandung dalam file ke repositori.cluster-autoscaler
aws ecr set-repository-policy \ --repository-name
cluster-autoscaler
\ --policy-textfile://my-policy.json
Isi dari
my-policy.json
:{ "Version" : "2008-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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanstart-image-scan
.
- AWS CLI
-
Untuk memulai pemindaian kerentanan gambar
start-image-scan
Contoh berikut memulai pemindaian gambar dan ditentukan oleh intisari gambar di repositori yang ditentukan.aws ecr start-image-scan \ --repository-name
sample-repo
\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6
Output:
{ "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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanstart-lifecycle-policy-preview
.
- AWS CLI
-
Untuk membuat pratinjau kebijakan siklus hidup
start-lifecycle-policy-preview
Contoh berikut membuat pratinjau kebijakan siklus hidup yang ditentukan oleh file JSON untuk repositori tertentu.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 Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakantag-resource
.
- AWS CLI
-
Untuk menandai repositori
tag-resource
Contoh berikut menetapkan tag dengan kunciStage
dan nilaiInteg
padahello-world
repositori.aws ecr tag-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
\ --tagsKey=Stage,Value=Integ
Perintah ini tidak menghasilkan output.
-
Untuk detail API, lihat TagResource
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanuntag-resource
.
- AWS CLI
-
Untuk menghapus tag repositori
untag-resource
Contoh berikut menghapus tag dengan kunciStage
darihello-world
repositori.aws ecr untag-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
\ --tag-keysStage
Perintah ini tidak menghasilkan output.
-
Untuk detail API, lihat UntagResource
di Referensi AWS CLI Perintah.
-
Contoh kode berikut menunjukkan cara menggunakanupload-layer-part
.
- AWS CLI
-
Untuk mengunggah bagian lapisan
Berikut ini
upload-layer-part
mengunggah bagian layer gambar kelayer-test
repositori.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
Output:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }
-
Untuk detail API, lihat UploadLayerPart
di Referensi AWS CLI Perintah.
-