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.
Temas
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 resumensha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834eden el repositoriocluster-autoscaler.aws ecr batch-check-layer-availability \ --repository-namecluster-autoscaler\ --layer-digestssha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edSalida:
{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }-
Para obtener más información sobre la API, consulte BatchCheckLayerAvailability
la 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 etiquetaprecisedel repositorio especificado del registro predeterminado de una cuenta.aws ecr batch-delete-image \ --repository-nameubuntu\ --image-idsimageTag=preciseSalida:
{ "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 etiquetasprodyteam1del repositorio especificado.aws ecr batch-delete-image \ --repository-nameMyRepository\ --image-idsimageTag=prodimageTag=team1Salida:
{ "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 BatchDeleteImage
la 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 etiquetav1.13.6de un repositorio llamadocluster-autoscalerdel registro predeterminado de una cuenta.aws ecr batch-get-image \ --repository-namecluster-autoscaler\ --image-idsimageTag=v1.13.6Salida:
{ "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 etiquetasprodyteam1del repositorio especificado.aws ecr batch-get-image \ --repository-nameMyRepository\ --image-idsimageTag=prodimageTag=team1Salida:
{ "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 BatchGetImage
la 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-uploadse finaliza la carga de una capa de imágenes en el repositoriolayer-test.aws ecr complete-layer-upload \ --repository-namelayer-test\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9\ --layer-digests6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323eSalida:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }-
Para obtener más información sobre la API, consulte CompleteLayerUpload
la 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-repositoryse crea un repositorio dentro del espacio de nombres especificado en el registro predeterminado de una cuenta.aws ecr create-repository \ --repository-nameproject-a/sample-repoSalida:
{ "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-repositoryse crea un repositorio configurado para la inmutabilidad de etiquetas en el registro predeterminado de una cuenta.aws ecr create-repository \ --repository-nameproject-a/sample-repo\ --image-tag-mutabilityIMMUTABLESalida:
{ "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-repositoryse 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-nameproject-a/sample-repo\ --image-scanning-configurationscanOnPush=trueSalida:
{ "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 CreateRepository
la 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 repositoriohello-world.aws ecr delete-lifecycle-policy \ --repository-namehello-worldSalida:
{ "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 DeleteLifecyclePolicy
la 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 repositoriocluster-autoscaler.aws ecr delete-repository-policy \ --repository-namecluster-autoscalerSalida:
{ "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 DeleteRepositoryPolicy
la 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-repositoryel comando fuerza la eliminación del repositorio especificado del registro predeterminado de una cuenta. La marca--forcees obligatoria si el repositorio contiene imágenes.aws ecr delete-repository \ --repository-nameubuntu\ --forceSalida:
{ "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 DeleteRepository
la 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-namesample-repo\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6Salida:
{ "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.
-
Para obtener más información sobre la API, consulte DescribeImageScanFindings
la 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-imagesse muestran detalles sobre una imagen del repositoriocluster-autoscalercon la etiquetav1.13.6.aws ecr describe-images \ --repository-namecluster-autoscaler\ --image-idsimageTag=v1.13.6Salida:
{ "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 DescribeImages
la 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-repositoriesSalida:
{ "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 DescribeRepositories
la 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-tokense obtiene un token de autorización para el registro predeterminado.aws ecr get-authorization-tokenSalida:
{ "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 GetAuthorizationToken
la 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 resumensha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834eden el repositoriocluster-autoscaler.aws ecr get-download-url-for-layer \ --repository-namecluster-autoscaler\ --layer-digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edSalida:
{ "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 GetDownloadUrlForLayer
la 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.
-
Para obtener más información sobre la API, consulte GetLifecyclePolicyPreview
la 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 GetLifecyclePolicy
la 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-passwordSalida:
<password>Para usarlo con la CLI de Docker, canalice el resultado del comando
get-login-passwordal comandodocker 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>\|dockerlogin\ --usernameAWS\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.com.rproxy.govskope.caPara 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 GetLoginPassword
la 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-loginSalida:
docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com.rproxy.govskope.caPara 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-ids012345678910023456789012Salida:
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 GetLogin
la 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-policyse muestran detalles sobre la política de repositorio del repositoriocluster-autoscaler.aws ecr get-repository-policy \ --repository-namecluster-autoscalerSalida:
{ "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 GetRepositoryPolicy
la 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 repositoriolayer-test.aws ecr initiate-layer-upload \ --repository-namelayer-testSalida:
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }-
Para obtener más información sobre la API, consulte InitiateLayerUpload
la 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-imagesse muestra una lista de las imágenes del repositoriocluster-autoscaler.aws ecr list-images \ --repository-namecluster-autoscalerSalida:
{ "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 ListImages
la 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 repositoriohello-world.aws ecr list-tags-for-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-worldSalida:
{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }-
Para obtener más información sobre la API, consulte ListTagsForResource
la 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-namesample-repo\ --image-scanning-configurationscanOnPush=trueSalida:
{ "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.
-
Para obtener más información sobre la API, consulte PutImageScanningConfiguration
la 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-namehello-repository\ --image-tag-mutabilityIMMUTABLESalida:
{ "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 PutImageTagMutability
la 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 repositoriohello-worldcon un manifiesto de imagen existente.aws ecr put-image \ --repository-namehello-world\ --image-tag2019.08\ --image-manifestfile://hello-world.manifest.jsonContenido 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 PutImage
la 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 PutLifeCyclePolicy
la 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 repositoriocluster-autoscaleruna política de repositorio incluida en un archivo.aws ecr set-repository-policy \ --repository-namecluster-autoscaler\ --policy-textfile://my-policy.jsonContenido 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 SetRepositoryPolicy
la 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-namesample-repo\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6Salida:
{ "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 StartImageScan
la 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-previewse 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" }-
Para obtener más información sobre la API, consulte StartLifecyclePolicyPreview
la 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 claveStagey el valorIntegen el repositoriohello-world.aws ecr tag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tagsKey=Stage,Value=IntegEste comando no genera ninguna salida.
-
Para obtener más información sobre la API, consulte TagResource
la 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 claveStagedel repositoriohello-world.aws ecr untag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tag-keysStageEste comando no genera ninguna salida.
-
Para obtener más información sobre la API, consulte UntagResource
la 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-partse carga una parte de una capa de imagen en el repositoriolayer-test.aws ecr upload-layer-part \ --repository-namelayer-test\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9\ --part-first-byte0\ --part-last-byte8323314\ --layer-part-blobfile:///var/lib/docker/image/overlay2/layerdb/sha256/ff986b10a018b48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e/layer.b64Salida:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }-
Para obtener más información sobre la API, consulte UploadLayerPart
la Referencia de AWS CLI comandos.
-