Esta documentación es AWS CLI únicamente para la versión 1 de la versión. Para ver la documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.
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.
ECREjemplos de Amazon que utilizan AWS CLI
En los siguientes ejemplos de código, se muestra cómo realizar acciones e implementar situaciones comunes AWS Command Line Interface con AmazonECR.
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 funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.
Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.
Temas
Acciones
En el siguiente ejemplo de código se muestra cómo usarlobatch-check-layer-availability
.
- AWS CLI
-
Para comprobar la disponibilidad de una capa
El siguiente
batch-check-layer-availability
ejemplo comprueba la disponibilidad de una capa con el resumensha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
en elcluster-autoscaler
repositorio.aws ecr batch-check-layer-availability \ --repository-name
cluster-autoscaler
\ --layer-digestssha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
Salida:
{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }
-
Para API obtener más información, consulte BatchCheckLayerAvailability
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlobatch-delete-image
.
- AWS CLI
-
Ejemplo 1: Para eliminar una imagen
En el siguiente
batch-delete-image
ejemplo, se elimina una imagen con la etiquetaprecise
en el repositorio especificado del registro predeterminado de una cuenta.aws ecr batch-delete-image \ --repository-name
ubuntu
\ --image-idsimageTag=precise
Salida:
{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }
Ejemplo 2: Para eliminar varias imágenes
En el siguiente
batch-delete-image
ejemplo, se eliminan todas las imágenes etiquetadas conprod
yteam1
en el repositorio especificado.aws ecr batch-delete-image \ --repository-name
MyRepository
\ --image-idsimageTag=prod
imageTag=team1
Salida:
{ "imageIds": [ { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, { "imageDigest": "sha256:567890121234", "imageTag": "team1" } ], "failures": [] }
Para obtener más información, consulta Eliminar una imagen en la Guía del ECR usuario de Amazon.
-
Para API obtener más información, consulte BatchDeleteImage
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlobatch-get-image
.
- AWS CLI
-
Ejemplo 1: Para obtener una imagen
En el siguiente
batch-get-image
ejemplo, se obtiene una imagen con la etiquetav1.13.6
en un repositorio llamadocluster-autoscaler
en el registro predeterminado de una cuenta.aws ecr batch-get-image \ --repository-name
cluster-autoscaler
\ --image-idsimageTag=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: Para obtener varias imágenes
El siguiente
batch-get-image
ejemplo muestra los detalles de todas las imágenes etiquetadas conprod
yteam1
en el repositorio especificado.aws ecr batch-get-image \ --repository-name
MyRepository
\ --image-idsimageTag=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, consulta Imágenes en la Guía del ECR usuario de Amazon.
-
Para API obtener más información, consulte BatchGetImage
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlocomplete-layer-upload
.
- AWS CLI
-
Para completar la carga de una capa de imágenes
En el siguiente
complete-layer-upload
ejemplo, se completa la carga de una capa de imágenes en ellayer-test
repositorio.aws ecr complete-layer-upload \ --repository-name
layer-test
\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9
\ --layer-digests6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e
Salida:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }
-
Para API obtener más información, consulte CompleteLayerUpload
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlocreate-repository
.
- AWS CLI
-
Ejemplo 1: Para crear un repositorio
El siguiente
create-repository
ejemplo 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, consulta Crear un repositorio en la Guía del ECR usuario de Amazon.
Ejemplo 2: Para crear un repositorio configurado con la inmutabilidad de las etiquetas de imagen
El siguiente
create-repository
ejemplo crea un repositorio configurado para la inmutabilidad de las etiquetas en el registro predeterminado de una cuenta.aws ecr create-repository \ --repository-name
project-a/sample-repo
\ --image-tag-mutabilityIMMUTABLE
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, consulta la mutabilidad de etiquetas de imagen en la Guía del ECR usuario de Amazon.
Ejemplo 3: Para crear un repositorio configurado con una configuración de digitalización
El siguiente
create-repository
ejemplo crea un repositorio configurado para realizar un análisis de vulnerabilidades al insertar una imagen en el registro predeterminado de una cuenta.aws ecr create-repository \ --repository-name
project-a/sample-repo
\ --image-scanning-configurationscanOnPush=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, consulta Escaneo de imágenes en la Guía del ECR usuario de Amazon.
-
Para API obtener más información, consulte CreateRepository
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlodelete-lifecycle-policy
.
- AWS CLI
-
Para eliminar la política de ciclo de vida de un repositorio
En el siguiente
delete-lifecycle-policy
ejemplo, se elimina la política de ciclo de vida delhello-world
repositorio.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 API obtener más información, consulte DeleteLifecyclePolicy
la Referencia de AWS CLI comandos.
-
El siguiente ejemplo de código muestra cómo usarlodelete-repository-policy
.
- AWS CLI
-
Para eliminar la política de repositorio de un repositorio
En el siguiente
delete-repository-policy
ejemplo, se elimina la política de repositorio delcluster-autoscaler
repositorio.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 API obtener más información, consulte DeleteRepositoryPolicy
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarlodelete-repository
.
- AWS CLI
-
Para eliminar un repositorio
En el siguiente
delete-repository
ejemplo, el comando force elimina el repositorio especificado del registro predeterminado de una cuenta. La--force
marca es obligatoria si el repositorio contiene imágenes.aws ecr delete-repository \ --repository-name
ubuntu
\ --forceSalida:
{ "repository": { "registryId": "123456789012", "repositoryName": "ubuntu", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/ubuntu" } }
Para obtener más información, consulta Eliminar un repositorio en la Guía del ECR usuario de Amazon.
-
Para API obtener más información, consulte DeleteRepository
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarlodescribe-image-scan-findings
.
- AWS CLI
-
Para describir los resultados del escaneo de una imagen
El siguiente
describe-image-scan-findings
ejemplo devuelve 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-idimageDigest=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, consulta Escaneo de imágenes en la Guía del ECR usuario de Amazon.
-
Para API obtener más información, consulte DescribeImageScanFindings
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarlodescribe-images
.
- AWS CLI
-
Para describir una imagen de un repositorio
En el siguiente
describe-images
ejemplo, se muestran detalles sobre una imagen delcluster-autoscaler
repositorio con la etiquetav1.13.6
.aws ecr describe-images \ --repository-name
cluster-autoscaler
\ --image-idsimageTag=v1.13.6
Salida:
{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }
-
Para API obtener más información, consulte DescribeImages
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarlodescribe-repositories
.
- AWS CLI
-
Descripción de 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 API obtener más información, consulte DescribeRepositories
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloget-authorization-token
.
- AWS CLI
-
Para obtener un token de autorización para su registro predeterminado
El siguiente comando de
get-authorization-token
ejemplo 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 API obtener más información, consulte GetAuthorizationToken
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloget-download-url-for-layer
.
- AWS CLI
-
Para descargar URL una capa
En el siguiente
get-download-url-for-layer
ejemplo, se muestra la descarga URL de una capa con el resumensha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
en elcluster-autoscaler
repositorio.aws ecr get-download-url-for-layer \ --repository-name
cluster-autoscaler
\ --layer-digestsha256: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 API obtener más información, consulte GetDownloadUrlForLayer
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloget-lifecycle-policy-preview
.
- AWS CLI
-
Para recuperar los detalles de una vista previa de una política de ciclo de vida
En el siguiente
get-lifecycle-policy-preview
ejemplo, se recupera el resultado de una vista previa de la 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, consulta las políticas de ciclo de vida en la Guía del ECR usuario de Amazon.
-
Para API obtener más información, consulte GetLifecyclePolicyPreview
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloget-lifecycle-policy
.
- AWS CLI
-
Para recuperar una política de ciclo de vida
En el siguiente
get-lifecycle-policy
ejemplo, se muestran los detalles de la política de ciclo de vida del repositorio especificado en el registro predeterminado de la 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, consulta las políticas de ciclo de vida en la Guía del ECR usuario de Amazon.
-
Para API obtener más información, consulte GetLifecyclePolicy
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloget-login-password
.
- AWS CLI
-
Para recuperar una contraseña para autenticarse en un registro
A continuación, se
get-login-password
muestra una contraseña que puedes usar con un cliente contenedor de tu elección para autenticarte en cualquier ECR registro de Amazon al que tenga acceso tu IAM principal.aws ecr get-login-password
Salida:
<password>
Para usarlo con el DockerCLI, canaliza el resultado del
get-login-password
comando aldocker login
comando. Al recuperar la contraseña, asegúrate de especificar la misma región en la que se encuentra tu ECR registro de Amazon.aws ecr get-login-password \ --region
<region>
\|
docker
login
\ --usernameAWS
\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.com
Para obtener más información, consulte Autenticación del registro en la Guía del ECR usuario de Amazon.
-
Para API obtener más información, consulte GetLoginPassword
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloget-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 puedes usar para iniciar sesión en tu ECR registro predeterminado de Amazon.
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 puedes usar para iniciar sesión en ECR los registros de Amazon 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 API obtener más información, consulte GetLogin
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloget-repository-policy
.
- AWS CLI
-
Para recuperar la política de repositorio de un repositorio
En el siguiente
get-repository-policy
ejemplo, se muestran detalles sobre la política decluster-autoscaler
repositorio del repositorio.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 API obtener más información, consulte GetRepositoryPolicy
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloinitiate-layer-upload
.
- AWS CLI
-
Para iniciar la carga de una capa de imágenes
El siguiente
initiate-layer-upload
ejemplo inicia la carga de una capa de imágenes en ellayer-test
repositorio.aws ecr initiate-layer-upload \ --repository-name
layer-test
Salida:
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }
-
Para API obtener más información, consulte InitiateLayerUpload
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarlolist-images
.
- AWS CLI
-
Creación de 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 repositoriocluster-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 API obtener más información, consulte ListImages
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarlolist-tags-for-resource
.
- AWS CLI
-
Para enumerar las etiquetas del repositorio
En el siguiente
list-tags-for-resource
ejemplo, se muestra una lista de las etiquetas asociadas alhello-world
repositorio.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 API obtener más información, consulte ListTagsForResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloput-image-scanning-configuration
.
- AWS CLI
-
Para actualizar la configuración de digitalización de imágenes de un repositorio
En el siguiente
put-image-scanning-configuration
ejemplo, se actualiza la configuración de digitalización de imágenes del repositorio especificado.aws ecr put-image-scanning-configuration \ --repository-name
sample-repo
\ --image-scanning-configurationscanOnPush=true
Salida:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageScanningConfiguration": { "scanOnPush": true } }
Para obtener más información, consulta Escaneo de imágenes en la Guía del ECR usuario de Amazon.
-
Para API obtener más información, consulte PutImageScanningConfiguration
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloput-image-tag-mutability
.
- AWS CLI
-
Para actualizar la configuración de mutabilidad de la etiqueta de imagen de un repositorio
El siguiente
put-image-tag-mutability
ejemplo configura el repositorio especificado para la inmutabilidad de las etiquetas. Esto evita que se sobrescriban todas las etiquetas de imagen del repositorio.aws ecr put-image-tag-mutability \ --repository-name
hello-repository
\ --image-tag-mutabilityIMMUTABLE
Salida:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }
Para obtener más información, consulta la mutabilidad de etiquetas de imagen en la Guía del ECR usuario de Amazon.
-
Para API obtener más información, consulte PutImageTagMutability
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloput-image
.
- AWS CLI
-
Para volver a etiquetar una imagen con su manifiesto
En el siguiente
put-image
ejemplo, se crea una etiqueta nueva en elhello-world
repositorio con un manifiesto de imagen existente.aws ecr put-image \ --repository-name
hello-world
\ --image-tag2019.08
\ --image-manifestfile://hello-world.manifest.json
Contenidos 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 API obtener más información, consulte PutImage
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloput-lifecycle-policy
.
- AWS CLI
-
Para crear una política de ciclo de vida
En el siguiente
put-lifecycle-policy
ejemplo, 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"
Contenidos 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, consulta las políticas de ciclo de vida en la Guía del ECR usuario de Amazon.
-
Para API obtener más información, consulte PutLifecyclePolicy
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloset-repository-policy
.
- AWS CLI
-
Para establecer la política de repositorio de un repositorio
En el siguiente
set-repository-policy
ejemplo, se adjunta al repositorio una política decluster-autoscaler
repositorio incluida en un archivo.aws ecr set-repository-policy \ --repository-name
cluster-autoscaler
\ --policy-textfile://my-policy.json
Contenidos 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 API obtener más información, consulte SetRepositoryPolicy
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarlostart-image-scan
.
- AWS CLI
-
Para iniciar un análisis de vulnerabilidades de imagen
En el siguiente
start-image-scan
ejemplo, 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-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6
Salida:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageId": { "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6" }, "imageScanStatus": { "status": "IN_PROGRESS" } }
Para obtener más información, consulta Escaneo de imágenes en la Guía del ECR usuario de Amazon.
-
Para API obtener más información, consulte StartImageScan
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarlostart-lifecycle-policy-preview
.
- AWS CLI
-
Para crear una vista previa de una política de ciclo de vida
En el siguiente
start-lifecycle-policy-preview
ejemplo, se crea una vista previa de la política del ciclo de vida definida por un JSON archivo para el repositorio especificado.aws ecr start-lifecycle-policy-preview \ --repository-name
"project-a/amazon-ecs-sample"
\ --lifecycle-policy-text"file://policy.json"
Contenidos 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 API obtener más información, consulte StartLifecyclePolicyPreview
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarlotag-resource
.
- AWS CLI
-
Para etiquetar un repositorio
El siguiente
tag-resource
ejemplo establece una etiqueta con la claveStage
y el valorInteg
en elhello-world
repositorio.aws ecr tag-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
\ --tagsKey=Stage,Value=Integ
Este comando no genera ninguna salida.
-
Para API obtener más información, consulte TagResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarlountag-resource
.
- AWS CLI
-
Para quitar la etiqueta de un repositorio
En el siguiente
untag-resource
ejemplo, se elimina la etiqueta con la claveStage
delhello-world
repositorio.aws ecr untag-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
\ --tag-keysStage
Este comando no genera ninguna salida.
-
Para API obtener más información, consulte UntagResource
la Referencia de AWS CLI comandos.
-
En el siguiente ejemplo de código se muestra cómo usarloupload-layer-part
.
- AWS CLI
-
Para cargar una parte de una capa
A continuación, se
upload-layer-part
carga una parte de la capa de imagen en ellayer-test
repositorio.aws ecr upload-layer-part \ --repository-name
layer-test
\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9
\ --part-first-byte0
\ --part-last-byte8323314
\ --layer-part-blobfile:///var/lib/docker/image/overlay2/layerdb/sha256/ff986b10a018b48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e/layer.b64
Salida:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }
-
Para API obtener más información, consulte UploadLayerPart
la Referencia de AWS CLI comandos.
-