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:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
en el repositoriocluster-autoscaler
.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 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 etiquetaprecise
del 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: eliminación de varias imágenes
En el siguiente ejemplo de
batch-delete-image
, se eliminan todas las imágenes con las etiquetasprod
yteam1
del 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, 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.6
de un repositorio llamadocluster-autoscaler
del 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: obtención de varias imágenes
En el siguiente ejemplo de
batch-get-image
, se muestran detalles de todas las imágenes con las etiquetasprod
yteam1
del 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, 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-upload
se finaliza la carga de una capa de imágenes en el repositoriolayer-test
.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 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-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-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, 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-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, 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-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 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-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 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-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
\ --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-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, 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-images
se muestran detalles sobre una imagen del repositoriocluster-autoscaler
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 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-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 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-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 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:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
en el repositoriocluster-autoscaler
.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 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-password
Salida:
<password>
Para usarlo con la CLI de Docker, canalice el resultado del comando
get-login-password
al 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>
\|
docker
login
\ --usernameAWS
\ --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 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-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 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-policy
se muestran detalles sobre la política de repositorio del repositoriocluster-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 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-name
layer-test
Salida:
{ "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-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 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-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 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-name
sample-repo
\ --image-scanning-configurationscanOnPush=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.
-
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-name
hello-repository
\ --image-tag-mutabilityIMMUTABLE
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 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-world
con un manifiesto de imagen existente.aws ecr put-image \ --repository-name
hello-world
\ --image-tag2019.08
\ --image-manifestfile://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 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-autoscaler
una política de repositorio incluida en un archivo.aws ecr set-repository-policy \ --repository-name
cluster-autoscaler
\ --policy-textfile://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 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-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, 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-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" }
-
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 claveStage
y el valorInteg
en el repositoriohello-world
.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 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 claveStage
del repositoriohello-world
.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 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-part
se carga una parte de una capa de imagen en el repositoriolayer-test
.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 obtener más información sobre la API, consulte UploadLayerPart
la Referencia de AWS CLI comandos.
-