Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Ejemplos de Amazon ECR que utilizan AWS CLI - AWS Ejemplos de código de SDK

Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de Amazon ECR que utilizan AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes AWS Command Line Interface mediante Amazon ECR.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar batch-check-layer-availability.

AWS CLI

Para comprobar la disponibilidad de una capa

En el siguiente ejemplo de batch-check-layer-availability, se comprueba la disponibilidad de una capa con el resumen sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed en el repositorio cluster-autoscaler.

aws ecr batch-check-layer-availability \ --repository-name cluster-autoscaler \ --layer-digests sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed

Salida:

{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }

En el siguiente ejemplo de código, se muestra cómo utilizar batch-check-layer-availability.

AWS CLI

Para comprobar la disponibilidad de una capa

En el siguiente ejemplo de batch-check-layer-availability, se comprueba la disponibilidad de una capa con el resumen sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed en el repositorio cluster-autoscaler.

aws ecr batch-check-layer-availability \ --repository-name cluster-autoscaler \ --layer-digests sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed

Salida:

{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }

En el siguiente ejemplo de código, se muestra cómo utilizar batch-delete-image.

AWS CLI

Ejemplo 1: eliminación de una imagen

En el siguiente ejemplo de batch-delete-image, se elimina una imagen con la etiqueta precise del repositorio especificado del registro predeterminado de una cuenta.

aws ecr batch-delete-image \ --repository-name ubuntu \ --image-ids imageTag=precise

Salida:

{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }

Ejemplo 2: eliminación de varias imágenes

En el siguiente ejemplo de batch-delete-image, se eliminan todas las imágenes con las etiquetas prod y team1 del repositorio especificado.

aws ecr batch-delete-image \ --repository-name MyRepository \ --image-ids imageTag=prod imageTag=team1

Salida:

{ "imageIds": [ { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, { "imageDigest": "sha256:567890121234", "imageTag": "team1" } ], "failures": [] }

Para obtener más información, consulte Deleting an Image en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte BatchDeleteImagela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar batch-delete-image.

AWS CLI

Ejemplo 1: eliminación de una imagen

En el siguiente ejemplo de batch-delete-image, se elimina una imagen con la etiqueta precise del repositorio especificado del registro predeterminado de una cuenta.

aws ecr batch-delete-image \ --repository-name ubuntu \ --image-ids imageTag=precise

Salida:

{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }

Ejemplo 2: eliminación de varias imágenes

En el siguiente ejemplo de batch-delete-image, se eliminan todas las imágenes con las etiquetas prod y team1 del repositorio especificado.

aws ecr batch-delete-image \ --repository-name MyRepository \ --image-ids imageTag=prod imageTag=team1

Salida:

{ "imageIds": [ { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, { "imageDigest": "sha256:567890121234", "imageTag": "team1" } ], "failures": [] }

Para obtener más información, consulte Deleting an Image en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte BatchDeleteImagela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar batch-get-image.

AWS CLI

Ejemplo 1: obtención de una imagen

En el siguiente ejemplo de batch-get-image, se obtiene una imagen con la etiqueta v1.13.6 de un repositorio llamado cluster-autoscaler del registro predeterminado de una cuenta.

aws ecr batch-get-image \ --repository-name cluster-autoscaler \ --image-ids imageTag=v1.13.6

Salida:

{ "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": [] }

Ejemplo 2: obtención de varias imágenes

En el siguiente ejemplo de batch-get-image, se muestran detalles de todas las imágenes con las etiquetas prod y team1 del repositorio especificado.

aws ecr batch-get-image \ --repository-name MyRepository \ --image-ids imageTag=prod imageTag=team1

Salida:

{ "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": [] }

Para obtener más información, consulte Images en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte BatchGetImagela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar batch-get-image.

AWS CLI

Ejemplo 1: obtención de una imagen

En el siguiente ejemplo de batch-get-image, se obtiene una imagen con la etiqueta v1.13.6 de un repositorio llamado cluster-autoscaler del registro predeterminado de una cuenta.

aws ecr batch-get-image \ --repository-name cluster-autoscaler \ --image-ids imageTag=v1.13.6

Salida:

{ "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": [] }

Ejemplo 2: obtención de varias imágenes

En el siguiente ejemplo de batch-get-image, se muestran detalles de todas las imágenes con las etiquetas prod y team1 del repositorio especificado.

aws ecr batch-get-image \ --repository-name MyRepository \ --image-ids imageTag=prod imageTag=team1

Salida:

{ "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": [] }

Para obtener más información, consulte Images en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte BatchGetImagela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar complete-layer-upload.

AWS CLI

Para finalizar la carga de una capa de imágenes

En el siguiente ejemplo de complete-layer-upload se finaliza la carga de una capa de imágenes en el repositorio layer-test.

aws ecr complete-layer-upload \ --repository-name layer-test \ --upload-id 6cb64b8a-9378-0e33-2ab1-b780fab8a9e9 \ --layer-digests 6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e

Salida:

{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }
  • Para obtener más información sobre la API, consulte CompleteLayerUploadla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar complete-layer-upload.

AWS CLI

Para finalizar la carga de una capa de imágenes

En el siguiente ejemplo de complete-layer-upload se finaliza la carga de una capa de imágenes en el repositorio layer-test.

aws ecr complete-layer-upload \ --repository-name layer-test \ --upload-id 6cb64b8a-9378-0e33-2ab1-b780fab8a9e9 \ --layer-digests 6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e

Salida:

{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }
  • Para obtener más información sobre la API, consulte CompleteLayerUploadla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar create-repository.

AWS CLI

Ejemplo 1: creación de un repositorio

En el siguiente ejemplo de create-repository se crea un repositorio dentro del espacio de nombres especificado en el registro predeterminado de una cuenta.

aws ecr create-repository \ --repository-name project-a/sample-repo

Salida:

{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo" } }

Para obtener más información, consulte Creating a Repository en la Guía del usuario de Amazon ECR.

Ejemplo 2: creación de un repositorio configurado con inmutabilidad de las etiquetas de imagen

En el siguiente ejemplo de create-repository se crea un repositorio configurado para la inmutabilidad de etiquetas en el registro predeterminado de una cuenta.

aws ecr create-repository \ --repository-name project-a/sample-repo \ --image-tag-mutability IMMUTABLE

Salida:

{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageTagMutability": "IMMUTABLE" } }

Para obtener más información, consulte Mutabilidad de las etiquetas de imagen en la Guía del usuario de Amazon ECR.

Ejemplo 3: creación de un repositorio configurado con una configuración de escaneo

En el siguiente ejemplo de create-repository se crea un repositorio configurado para realizar un escaneo de vulnerabilidad a una inserción de imagen en el registro predeterminado de una cuenta.

aws ecr create-repository \ --repository-name project-a/sample-repo \ --image-scanning-configuration scanOnPush=true

Salida:

{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageScanningConfiguration": { "scanOnPush": true } } }

Para obtener más información, consulte Image Scanning en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte CreateRepositoryla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar create-repository.

AWS CLI

Ejemplo 1: creación de un repositorio

En el siguiente ejemplo de create-repository se crea un repositorio dentro del espacio de nombres especificado en el registro predeterminado de una cuenta.

aws ecr create-repository \ --repository-name project-a/sample-repo

Salida:

{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo" } }

Para obtener más información, consulte Creating a Repository en la Guía del usuario de Amazon ECR.

Ejemplo 2: creación de un repositorio configurado con inmutabilidad de las etiquetas de imagen

En el siguiente ejemplo de create-repository se crea un repositorio configurado para la inmutabilidad de etiquetas en el registro predeterminado de una cuenta.

aws ecr create-repository \ --repository-name project-a/sample-repo \ --image-tag-mutability IMMUTABLE

Salida:

{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageTagMutability": "IMMUTABLE" } }

Para obtener más información, consulte Mutabilidad de las etiquetas de imagen en la Guía del usuario de Amazon ECR.

Ejemplo 3: creación de un repositorio configurado con una configuración de escaneo

En el siguiente ejemplo de create-repository se crea un repositorio configurado para realizar un escaneo de vulnerabilidad a una inserción de imagen en el registro predeterminado de una cuenta.

aws ecr create-repository \ --repository-name project-a/sample-repo \ --image-scanning-configuration scanOnPush=true

Salida:

{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageScanningConfiguration": { "scanOnPush": true } } }

Para obtener más información, consulte Image Scanning en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte CreateRepositoryla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-lifecycle-policy.

AWS CLI

Para eliminar la política de ciclo de vida para un repositorio

En el siguiente ejemplo de delete-lifecycle-policy, se elimina la política de ciclo de vida del repositorio hello-world.

aws ecr delete-lifecycle-policy \ --repository-name hello-world

Salida:

{ "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 }
  • Para obtener más información sobre la API, consulte DeleteLifecyclePolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-lifecycle-policy.

AWS CLI

Para eliminar la política de ciclo de vida para un repositorio

En el siguiente ejemplo de delete-lifecycle-policy, se elimina la política de ciclo de vida del repositorio hello-world.

aws ecr delete-lifecycle-policy \ --repository-name hello-world

Salida:

{ "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 }
  • Para obtener más información sobre la API, consulte DeleteLifecyclePolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-repository-policy.

AWS CLI

Para eliminar la política de repositorio de un repositorio

En el siguiente ejemplo de delete-repository-policy, se elimina la política de repositorio del repositorio cluster-autoscaler.

aws ecr delete-repository-policy \ --repository-name cluster-autoscaler

Salida:

{ "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}" }
  • Para obtener más información sobre la API, consulte DeleteRepositoryPolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-repository-policy.

AWS CLI

Para eliminar la política de repositorio de un repositorio

En el siguiente ejemplo de delete-repository-policy, se elimina la política de repositorio del repositorio cluster-autoscaler.

aws ecr delete-repository-policy \ --repository-name cluster-autoscaler

Salida:

{ "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}" }
  • Para obtener más información sobre la API, consulte DeleteRepositoryPolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-repository.

AWS CLI

Eliminación de un repositorio

En el siguiente ejemplo de delete-repository el comando fuerza la eliminación del repositorio especificado del registro predeterminado de una cuenta. La marca --force es obligatoria si el repositorio contiene imágenes.

aws ecr delete-repository \ --repository-name ubuntu \ --force

Salida:

{ "repository": { "registryId": "123456789012", "repositoryName": "ubuntu", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/ubuntu" } }

Para obtener más información, consulte Deleting a Repository en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte DeleteRepositoryla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-repository.

AWS CLI

Eliminación de un repositorio

En el siguiente ejemplo de delete-repository el comando fuerza la eliminación del repositorio especificado del registro predeterminado de una cuenta. La marca --force es obligatoria si el repositorio contiene imágenes.

aws ecr delete-repository \ --repository-name ubuntu \ --force

Salida:

{ "repository": { "registryId": "123456789012", "repositoryName": "ubuntu", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/ubuntu" } }

Para obtener más información, consulte Deleting a Repository en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte DeleteRepositoryla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar describe-image-scan-findings.

AWS CLI

Para describir los resultados de escaneo de una imagen

En el siguiente ejemplo de describe-image-scan-findings,se devuelven los resultados del escaneo de una imagen utilizando el resumen de imágenes del repositorio especificado en el registro predeterminado de una cuenta.

aws ecr describe-image-scan-findings \ --repository-name sample-repo \ --image-id imageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6

Salida:

{ "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." } }

Para obtener más información, consulte Image Scanning en la Guía del usuario de Amazon ECR.

En el siguiente ejemplo de código, se muestra cómo utilizar describe-image-scan-findings.

AWS CLI

Para describir los resultados de escaneo de una imagen

En el siguiente ejemplo de describe-image-scan-findings,se devuelven los resultados del escaneo de una imagen utilizando el resumen de imágenes del repositorio especificado en el registro predeterminado de una cuenta.

aws ecr describe-image-scan-findings \ --repository-name sample-repo \ --image-id imageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6

Salida:

{ "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." } }

Para obtener más información, consulte Image Scanning en la Guía del usuario de Amazon ECR.

En el siguiente ejemplo de código, se muestra cómo utilizar describe-images.

AWS CLI

Para describir una imagen en un repositorio

En el siguiente ejemplo de describe-images se muestran detalles sobre una imagen del repositorio cluster-autoscaler con la etiqueta v1.13.6.

aws ecr describe-images \ --repository-name cluster-autoscaler \ --image-ids imageTag=v1.13.6

Salida:

{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }
  • Para obtener más información sobre la API, consulte DescribeImagesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar describe-images.

AWS CLI

Para describir una imagen en un repositorio

En el siguiente ejemplo de describe-images se muestran detalles sobre una imagen del repositorio cluster-autoscaler con la etiqueta v1.13.6.

aws ecr describe-images \ --repository-name cluster-autoscaler \ --image-ids imageTag=v1.13.6

Salida:

{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }
  • Para obtener más información sobre la API, consulte DescribeImagesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar describe-repositories.

AWS CLI

Para describir los repositorios de imágenes en un registro

En este ejemplo, se describen los repositorios del registro predeterminado de una cuenta.

Comando:

aws ecr describe-repositories

Salida:

{ "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" } ] }
  • Para obtener más información sobre la API, consulte DescribeRepositoriesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar describe-repositories.

AWS CLI

Para describir los repositorios de imágenes en un registro

En este ejemplo, se describen los repositorios del registro predeterminado de una cuenta.

Comando:

aws ecr describe-repositories

Salida:

{ "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" } ] }
  • Para obtener más información sobre la API, consulte DescribeRepositoriesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-authorization-token.

AWS CLI

Para obtener un token de autorización para el registro predeterminado

En el siguiente ejemplo de comando de get-authorization-token se obtiene un token de autorización para el registro predeterminado.

aws ecr get-authorization-token

Salida:

{ "authorizationData": [ { "authorizationToken": "QVdTOkN...", "expiresAt": 1448875853.241, "proxyEndpoint": "https://123456789012.dkr.ecr.us-west-2.amazonaws.com" } ] }
  • Para obtener más información sobre la API, consulte GetAuthorizationTokenla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-authorization-token.

AWS CLI

Para obtener un token de autorización para el registro predeterminado

En el siguiente ejemplo de comando de get-authorization-token se obtiene un token de autorización para el registro predeterminado.

aws ecr get-authorization-token

Salida:

{ "authorizationData": [ { "authorizationToken": "QVdTOkN...", "expiresAt": 1448875853.241, "proxyEndpoint": "https://123456789012.dkr.ecr.us-west-2.amazonaws.com" } ] }
  • Para obtener más información sobre la API, consulte GetAuthorizationTokenla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-download-url-for-layer.

AWS CLI

Para obtener la dirección URL de descarga de una capa

En el siguiente ejemplo de get-download-url-for-layer, se comprueba la dirección URL descargada de una capa con el resumen sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed en el repositorio cluster-autoscaler.

aws ecr get-download-url-for-layer \ --repository-name cluster-autoscaler \ --layer-digest sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed

Salida:

{ "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" }
  • Para obtener más información sobre la API, consulte GetDownloadUrlForLayerla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-download-url-for-layer.

AWS CLI

Para obtener la dirección URL de descarga de una capa

En el siguiente ejemplo de get-download-url-for-layer, se comprueba la dirección URL descargada de una capa con el resumen sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed en el repositorio cluster-autoscaler.

aws ecr get-download-url-for-layer \ --repository-name cluster-autoscaler \ --layer-digest sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed

Salida:

{ "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" }
  • Para obtener más información sobre la API, consulte GetDownloadUrlForLayerla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-lifecycle-policy-preview.

AWS CLI

Para recuperar los detalles de una vista previa de política de ciclo de vida

En el siguiente ejemplo de get-lifecycle-policy-preview, se recupera el resultado de una vista previa de política de ciclo de vida del repositorio especificado en el registro predeterminado de una cuenta.

Comando:

aws ecr get-lifecycle-policy-preview \ --repository-name "project-a/amazon-ecs-sample"

Salida:

{ "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 } }

Para obtener más información, consulte Lifecycle Policies en la Guía del usuario de Amazon ECR.

En el siguiente ejemplo de código, se muestra cómo utilizar get-lifecycle-policy-preview.

AWS CLI

Para recuperar los detalles de una vista previa de política de ciclo de vida

En el siguiente ejemplo de get-lifecycle-policy-preview, se recupera el resultado de una vista previa de política de ciclo de vida del repositorio especificado en el registro predeterminado de una cuenta.

Comando:

aws ecr get-lifecycle-policy-preview \ --repository-name "project-a/amazon-ecs-sample"

Salida:

{ "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 } }

Para obtener más información, consulte Lifecycle Policies en la Guía del usuario de Amazon ECR.

En el siguiente ejemplo de código, se muestra cómo utilizar get-lifecycle-policy.

AWS CLI

Para recuperar una política de ciclo de vida

En el siguiente ejemplo de get-lifecycle-policy, se muestran detalles de la política de ciclo de vida del repositorio especificado en el registro predeterminado de una cuenta.

aws ecr get-lifecycle-policy \ --repository-name "project-a/amazon-ecs-sample"

Salida:

{ "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 }

Para obtener más información, consulte Lifecycle Policies en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte GetLifecyclePolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-lifecycle-policy.

AWS CLI

Para recuperar una política de ciclo de vida

En el siguiente ejemplo de get-lifecycle-policy, se muestran detalles de la política de ciclo de vida del repositorio especificado en el registro predeterminado de una cuenta.

aws ecr get-lifecycle-policy \ --repository-name "project-a/amazon-ecs-sample"

Salida:

{ "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 }

Para obtener más información, consulte Lifecycle Policies en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte GetLifecyclePolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-login-password.

AWS CLI

Para recuperar una contraseña para autenticarse en un registro

En el siguiente ejemplo de get-login-password, se muestra una contraseña que puede usar con el cliente de contenedor de su elección para autenticarse en un registro de Amazon ECR al que tenga acceso la entidad principal de IAM.

aws ecr get-login-password

Salida:

<password>

Para usarlo con la CLI de Docker, canalice el resultado del comando get-login-password al comando docker login. Al recuperar la contraseña, asegúrese de especificar la misma región en la que se encuentra su registro de Amazon ECR.

aws ecr get-login-password \ --region <region> \ | docker login \ --username AWS \ --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com

Para obtener más información, consulte Registry Authentication en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte GetLoginPasswordla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-login-password.

AWS CLI

Para recuperar una contraseña para autenticarse en un registro

En el siguiente ejemplo de get-login-password, se muestra una contraseña que puede usar con el cliente de contenedor de su elección para autenticarse en un registro de Amazon ECR al que tenga acceso la entidad principal de IAM.

aws ecr get-login-password

Salida:

<password>

Para usarlo con la CLI de Docker, canalice el resultado del comando get-login-password al comando docker login. Al recuperar la contraseña, asegúrese de especificar la misma región en la que se encuentra su registro de Amazon ECR.

aws ecr get-login-password \ --region <region> \ | docker login \ --username AWS \ --password-stdin <aws_account_id>.dkr.ecr.<region>.amazonaws.com

Para obtener más información, consulte Registry Authentication en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte GetLoginPasswordla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-login.

AWS CLI

Para recuperar un comando de inicio de sesión de Docker en el registro predeterminado

En este ejemplo se imprime un comando que se puede utilizar para iniciar sesión en el registro de Amazon ECR predeterminado.

Comando:

aws ecr get-login

Salida:

docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com

Para iniciar sesión en el registro de otra cuenta

En este ejemplo se imprimen uno o varios comandos que se pueden utilizar para iniciar sesión en los registros de Amazon ECR asociados a otras cuentas.

Comando:

aws ecr get-login --registry-ids 012345678910 023456789012

Salida:

docker login -u <username> -p <token-1> -e none <endpoint-1> docker login -u <username> -p <token-2> -e none <endpoint-2>
  • Para obtener más información sobre la API, consulte GetLoginla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-login.

AWS CLI

Para recuperar un comando de inicio de sesión de Docker en el registro predeterminado

En este ejemplo se imprime un comando que se puede utilizar para iniciar sesión en el registro de Amazon ECR predeterminado.

Comando:

aws ecr get-login

Salida:

docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com

Para iniciar sesión en el registro de otra cuenta

En este ejemplo se imprimen uno o varios comandos que se pueden utilizar para iniciar sesión en los registros de Amazon ECR asociados a otras cuentas.

Comando:

aws ecr get-login --registry-ids 012345678910 023456789012

Salida:

docker login -u <username> -p <token-1> -e none <endpoint-1> docker login -u <username> -p <token-2> -e none <endpoint-2>
  • Para obtener más información sobre la API, consulte GetLoginla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-repository-policy.

AWS CLI

Para recuperar la política de repositorio de un repositorio

En el siguiente ejemplo de get-repository-policy se muestran detalles sobre la política de repositorio del repositorio cluster-autoscaler.

aws ecr get-repository-policy \ --repository-name cluster-autoscaler

Salida:

{ "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}" }
  • Para obtener más información sobre la API, consulte GetRepositoryPolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar get-repository-policy.

AWS CLI

Para recuperar la política de repositorio de un repositorio

En el siguiente ejemplo de get-repository-policy se muestran detalles sobre la política de repositorio del repositorio cluster-autoscaler.

aws ecr get-repository-policy \ --repository-name cluster-autoscaler

Salida:

{ "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}" }
  • Para obtener más información sobre la API, consulte GetRepositoryPolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar initiate-layer-upload.

AWS CLI

Para iniciar la carga de una capa de imágenes

En el siguiente ejemplo de initiate-layer-upload, se inicia la carga de una capa de imágenes en el repositorio layer-test.

aws ecr initiate-layer-upload \ --repository-name layer-test

Salida:

{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }
  • Para obtener más información sobre la API, consulte InitiateLayerUploadla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar initiate-layer-upload.

AWS CLI

Para iniciar la carga de una capa de imágenes

En el siguiente ejemplo de initiate-layer-upload, se inicia la carga de una capa de imágenes en el repositorio layer-test.

aws ecr initiate-layer-upload \ --repository-name layer-test

Salida:

{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }
  • Para obtener más información sobre la API, consulte InitiateLayerUploadla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar list-images.

AWS CLI

Para crear una lista de las imágenes en un repositorio

En el siguiente ejemplo de list-images se muestra una lista de las imágenes del repositorio cluster-autoscaler.

aws ecr list-images \ --repository-name cluster-autoscaler

Salida:

{ "imageIds": [ { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.8" }, { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.7" }, { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" } ] }
  • Para obtener más información sobre la API, consulte ListImagesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar list-images.

AWS CLI

Para crear una lista de las imágenes en un repositorio

En el siguiente ejemplo de list-images se muestra una lista de las imágenes del repositorio cluster-autoscaler.

aws ecr list-images \ --repository-name cluster-autoscaler

Salida:

{ "imageIds": [ { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.8" }, { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.7" }, { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" } ] }
  • Para obtener más información sobre la API, consulte ListImagesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar list-tags-for-resource.

AWS CLI

Para enumerar las etiquetas de un repositorio

En el siguiente ejemplo de list-tags-for-resource, se muestra una lista de las etiquetas asociadas con el repositorio hello-world.

aws ecr list-tags-for-resource \ --resource-arn arn:aws:ecr:us-west-2:012345678910:repository/hello-world

Salida:

{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }
  • Para obtener más información sobre la API, consulte ListTagsForResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar list-tags-for-resource.

AWS CLI

Para enumerar las etiquetas de un repositorio

En el siguiente ejemplo de list-tags-for-resource, se muestra una lista de las etiquetas asociadas con el repositorio hello-world.

aws ecr list-tags-for-resource \ --resource-arn arn:aws:ecr:us-west-2:012345678910:repository/hello-world

Salida:

{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }
  • Para obtener más información sobre la API, consulte ListTagsForResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar put-image-scanning-configuration.

AWS CLI

Para actualizar la configuración de escaneo de imágenes de un repositorio

En el siguiente ejemplo de put-image-scanning-configuration, se actualiza la configuración de escaneo de imágenes del repositorio especificado.

aws ecr put-image-scanning-configuration \ --repository-name sample-repo \ --image-scanning-configuration scanOnPush=true

Salida:

{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageScanningConfiguration": { "scanOnPush": true } }

Para obtener más información, consulte Image Scanning en la Guía del usuario de Amazon ECR.

En el siguiente ejemplo de código, se muestra cómo utilizar put-image-scanning-configuration.

AWS CLI

Para actualizar la configuración de escaneo de imágenes de un repositorio

En el siguiente ejemplo de put-image-scanning-configuration, se actualiza la configuración de escaneo de imágenes del repositorio especificado.

aws ecr put-image-scanning-configuration \ --repository-name sample-repo \ --image-scanning-configuration scanOnPush=true

Salida:

{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageScanningConfiguration": { "scanOnPush": true } }

Para obtener más información, consulte Image Scanning en la Guía del usuario de Amazon ECR.

En el siguiente ejemplo de código, se muestra cómo utilizar put-image-tag-mutability.

AWS CLI

Para actualizar la configuración de mutabilidad de las etiquetas de imagen en un repositorio

En el siguiente ejemplo de put-image-tag-mutability, se configura el repositorio especificado para la inmutabilidad de las etiquetas. De este modo, se evita que se sobrescriban todas las etiquetas de imagen dentro del repositorio.

aws ecr put-image-tag-mutability \ --repository-name hello-repository \ --image-tag-mutability IMMUTABLE

Salida:

{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }

Para obtener más información, consulte Image Tag Mutability en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte PutImageTagMutabilityla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar put-image-tag-mutability.

AWS CLI

Para actualizar la configuración de mutabilidad de las etiquetas de imagen en un repositorio

En el siguiente ejemplo de put-image-tag-mutability, se configura el repositorio especificado para la inmutabilidad de las etiquetas. De este modo, se evita que se sobrescriban todas las etiquetas de imagen dentro del repositorio.

aws ecr put-image-tag-mutability \ --repository-name hello-repository \ --image-tag-mutability IMMUTABLE

Salida:

{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }

Para obtener más información, consulte Image Tag Mutability en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte PutImageTagMutabilityla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar put-image.

AWS CLI

Para reetiquetar una imagen con su manifiesto

En el siguiente ejemplo de put-image, se crea una etiqueta nueva en el repositorio hello-world con un manifiesto de imagen existente.

aws ecr put-image \ --repository-name hello-world \ --image-tag 2019.08 \ --image-manifest file://hello-world.manifest.json

Contenido de 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" } ] }

Salida:

{ "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" } }
  • Para obtener más información sobre la API, consulte PutImagela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar put-image.

AWS CLI

Para reetiquetar una imagen con su manifiesto

En el siguiente ejemplo de put-image, se crea una etiqueta nueva en el repositorio hello-world con un manifiesto de imagen existente.

aws ecr put-image \ --repository-name hello-world \ --image-tag 2019.08 \ --image-manifest file://hello-world.manifest.json

Contenido de 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" } ] }

Salida:

{ "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" } }
  • Para obtener más información sobre la API, consulte PutImagela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar put-lifecycle-policy.

AWS CLI

Para crear una política de ciclo de vida

En el siguiente ejemplo de put-lifecycle-policy,se crea una política de ciclo de vida para el repositorio especificado en el registro predeterminado de una cuenta.

aws ecr put-lifecycle-policy \ --repository-name "project-a/amazon-ecs-sample" \ --lifecycle-policy-text "file://policy.json"

Contenido de policy.json:

{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }

Salida:

{ "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\"}}]}" }

Para obtener más información, consulte Lifecycle Policies en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte PutLifeCyclePolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar put-lifecycle-policy.

AWS CLI

Para crear una política de ciclo de vida

En el siguiente ejemplo de put-lifecycle-policy,se crea una política de ciclo de vida para el repositorio especificado en el registro predeterminado de una cuenta.

aws ecr put-lifecycle-policy \ --repository-name "project-a/amazon-ecs-sample" \ --lifecycle-policy-text "file://policy.json"

Contenido de policy.json:

{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }

Salida:

{ "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\"}}]}" }

Para obtener más información, consulte Lifecycle Policies en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte PutLifeCyclePolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar set-repository-policy.

AWS CLI

Para establecer la política de repositorio de un repositorio

En el siguiente ejemplo de set-repository-policy, se asocia al repositorio cluster-autoscaler una política de repositorio incluida en un archivo.

aws ecr set-repository-policy \ --repository-name cluster-autoscaler \ --policy-text file://my-policy.json

Contenido de my-policy.json:

{ "Version" : "2008-10-17", "Statement" : [ { "Sid" : "allow public pull", "Effect" : "Allow", "Principal" : "*", "Action" : [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }

Salida:

{ "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}" }
  • Para obtener más información sobre la API, consulte SetRepositoryPolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar set-repository-policy.

AWS CLI

Para establecer la política de repositorio de un repositorio

En el siguiente ejemplo de set-repository-policy, se asocia al repositorio cluster-autoscaler una política de repositorio incluida en un archivo.

aws ecr set-repository-policy \ --repository-name cluster-autoscaler \ --policy-text file://my-policy.json

Contenido de my-policy.json:

{ "Version" : "2008-10-17", "Statement" : [ { "Sid" : "allow public pull", "Effect" : "Allow", "Principal" : "*", "Action" : [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }

Salida:

{ "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}" }
  • Para obtener más información sobre la API, consulte SetRepositoryPolicyla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar start-image-scan.

AWS CLI

Para iniciar un escaneo de vulnerabilidades de imágenes

En el siguiente ejemplo de start-image-scan, se inicia un escaneo de imágenes en busca de las imágenes especificadas en el resumen de imágenes del repositorio especificado.

aws ecr start-image-scan \ --repository-name sample-repo \ --image-id imageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6

Salida:

{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageId": { "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6" }, "imageScanStatus": { "status": "IN_PROGRESS" } }

Para obtener más información, consulte Image Scanning en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte StartImageScanla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar start-image-scan.

AWS CLI

Para iniciar un escaneo de vulnerabilidades de imágenes

En el siguiente ejemplo de start-image-scan, se inicia un escaneo de imágenes en busca de las imágenes especificadas en el resumen de imágenes del repositorio especificado.

aws ecr start-image-scan \ --repository-name sample-repo \ --image-id imageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6

Salida:

{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageId": { "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6" }, "imageScanStatus": { "status": "IN_PROGRESS" } }

Para obtener más información, consulte Image Scanning en la Guía del usuario de Amazon ECR.

  • Para obtener más información sobre la API, consulte StartImageScanla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar start-lifecycle-policy-preview.

AWS CLI

Para crear una vista previa de política de ciclo de vida

En el siguiente ejemplo de start-lifecycle-policy-preview se crea una vista previa de la política de ciclo de vida definida por un archivo JSON para el repositorio especificado.

aws ecr start-lifecycle-policy-preview \ --repository-name "project-a/amazon-ecs-sample" \ --lifecycle-policy-text "file://policy.json"

Contenido de policy.json:

{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }

Salida:

{ "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" }

En el siguiente ejemplo de código, se muestra cómo utilizar start-lifecycle-policy-preview.

AWS CLI

Para crear una vista previa de política de ciclo de vida

En el siguiente ejemplo de start-lifecycle-policy-preview se crea una vista previa de la política de ciclo de vida definida por un archivo JSON para el repositorio especificado.

aws ecr start-lifecycle-policy-preview \ --repository-name "project-a/amazon-ecs-sample" \ --lifecycle-policy-text "file://policy.json"

Contenido de policy.json:

{ "rules": [ { "rulePriority": 1, "description": "Expire images older than 14 days", "selection": { "tagStatus": "untagged", "countType": "sinceImagePushed", "countUnit": "days", "countNumber": 14 }, "action": { "type": "expire" } } ] }

Salida:

{ "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" }

En el siguiente ejemplo de código, se muestra cómo utilizar tag-resource.

AWS CLI

Para etiquetar un repositorio

En el siguiente ejemplo de tag-resource, se establece una etiqueta con una clave Stage y el valor Integ en el repositorio hello-world.

aws ecr tag-resource \ --resource-arn arn:aws:ecr:us-west-2:012345678910:repository/hello-world \ --tags Key=Stage,Value=Integ

Este comando no genera ninguna salida.

  • Para obtener más información sobre la API, consulte TagResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar tag-resource.

AWS CLI

Para etiquetar un repositorio

En el siguiente ejemplo de tag-resource, se establece una etiqueta con una clave Stage y el valor Integ en el repositorio hello-world.

aws ecr tag-resource \ --resource-arn arn:aws:ecr:us-west-2:012345678910:repository/hello-world \ --tags Key=Stage,Value=Integ

Este comando no genera ninguna salida.

  • Para obtener más información sobre la API, consulte TagResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar untag-resource.

AWS CLI

Para desetiquetar un repositorio

En el siguiente ejemplo de untag-resource, se quita la etiqueta con la clave Stage del repositorio hello-world.

aws ecr untag-resource \ --resource-arn arn:aws:ecr:us-west-2:012345678910:repository/hello-world \ --tag-keys Stage

Este comando no genera ninguna salida.

  • Para obtener más información sobre la API, consulte UntagResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar untag-resource.

AWS CLI

Para desetiquetar un repositorio

En el siguiente ejemplo de untag-resource, se quita la etiqueta con la clave Stage del repositorio hello-world.

aws ecr untag-resource \ --resource-arn arn:aws:ecr:us-west-2:012345678910:repository/hello-world \ --tag-keys Stage

Este comando no genera ninguna salida.

  • Para obtener más información sobre la API, consulte UntagResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar upload-layer-part.

AWS CLI

Para cargar una parte de una capa

En el siguiente ejemplo de upload-layer-part se carga una parte de una capa de imagen en el repositorio layer-test.

aws ecr upload-layer-part \ --repository-name layer-test \ --upload-id 6cb64b8a-9378-0e33-2ab1-b780fab8a9e9 \ --part-first-byte 0 \ --part-last-byte 8323314 \ --layer-part-blob file:///var/lib/docker/image/overlay2/layerdb/sha256/ff986b10a018b48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e/layer.b64

Salida:

{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }
  • Para obtener más información sobre la API, consulte UploadLayerPartla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código, se muestra cómo utilizar upload-layer-part.

AWS CLI

Para cargar una parte de una capa

En el siguiente ejemplo de upload-layer-part se carga una parte de una capa de imagen en el repositorio layer-test.

aws ecr upload-layer-part \ --repository-name layer-test \ --upload-id 6cb64b8a-9378-0e33-2ab1-b780fab8a9e9 \ --part-first-byte 0 \ --part-last-byte 8323314 \ --layer-part-blob file:///var/lib/docker/image/overlay2/layerdb/sha256/ff986b10a018b48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e/layer.b64

Salida:

{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }
  • Para obtener más información sobre la API, consulte UploadLayerPartla Referencia de AWS CLI comandos.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.