Há mais exemplos de AWS SDK disponíveis no repositório AWS Doc SDK Examples
As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Exemplos do Amazon ECR usando AWS CLI
Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando o AWS Command Line Interface com o Amazon ECR.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.
Tópicos
Ações
O código de exemplo a seguir mostra como usar batch-check-layer-availability.
- AWS CLI
-
Como verificar a disponibilidade de uma camada
O exemplo
batch-check-layer-availabilitya seguir verifica a disponibilidade de uma camada com o resumosha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edno repositóriocluster-autoscaler.aws ecr batch-check-layer-availability \ --repository-namecluster-autoscaler\ --layer-digestssha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edSaída:
{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }-
Para obter detalhes da API, consulte BatchCheckLayerAvailability
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar batch-delete-image.
- AWS CLI
-
Exemplo 1: excluir uma imagem
O exemplo
batch-delete-imagea seguir exclui uma imagem com a tagpreciseno repositório especificado no registro padrão de uma conta.aws ecr batch-delete-image \ --repository-nameubuntu\ --image-idsimageTag=preciseSaída:
{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }Exemplo 2: excluir várias imagens
O exemplo
batch-delete-imagea seguir exclui todas as imagens marcadas comprodeteam1no repositório especificado.aws ecr batch-delete-image \ --repository-nameMyRepository\ --image-idsimageTag=prodimageTag=team1Saída:
{ "imageIds": [ { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, { "imageDigest": "sha256:567890121234", "imageTag": "team1" } ], "failures": [] }Para obter mais informações, consulte Excluir uma imagem no Guia do usuário do Amazon ECR.
-
Para obter detalhes da API, consulte BatchDeleteImage
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar batch-get-image.
- AWS CLI
-
Exemplo 1: obter uma imagem
O exemplo
batch-get-imagea seguir obtém uma imagem com a tagv1.13.6em um repositório chamadocluster-autoscalerno registro padrão de uma conta.aws ecr batch-get-image \ --repository-namecluster-autoscaler\ --image-idsimageTag=v1.13.6Saída:
{ "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": [] }Exemplo 2: obter várias imagens
O exemplo
batch-get-imagea seguir exibe detalhes de todas as imagens marcadas comprodeteam1no repositório especificado.aws ecr batch-get-image \ --repository-nameMyRepository\ --image-idsimageTag=prodimageTag=team1Saída:
{ "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 obter mais informações, consulte Imagens no Guia do usuário do Amazon ECR.
-
Para obter detalhes da API, consulte BatchGetImage
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar complete-layer-upload.
- AWS CLI
-
Como concluir o upload de uma camada de imagem
O exemplo
complete-layer-uploada seguir conclui o upload de uma camada de imagem para o repositóriolayer-test.aws ecr complete-layer-upload \ --repository-namelayer-test\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9\ --layer-digests6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323eSaída:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }-
Para obter detalhes da API, consulte CompleteLayerUpload
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar create-repository.
- AWS CLI
-
Exemplo 1: criar um repositório
O exemplo
create-repositorya seguir cria um repositório dentro do namespace especificado no registro padrão de uma conta.aws ecr create-repository \ --repository-nameproject-a/sample-repoSaída:
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo" } }Para obter mais informações, consulte Creating a repository no Guia do usuário do Amazon ECR.
Exemplo 2: criar um repositório configurado com imutabilidade da tag de imagem
O exemplo
create-repositorya seguir cria um repositório configurado para imutabilidade de tags no registro padrão de uma conta.aws ecr create-repository \ --repository-nameproject-a/sample-repo\ --image-tag-mutabilityIMMUTABLESaída:
{ "repository": { "registryId": "123456789012", "repositoryName": "project-a/sample-repo", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/project-a/sample-repo", "imageTagMutability": "IMMUTABLE" } }Para obter mais informações, consulte Mutabilidade da tag de imagem no Guia do usuário do Amazon ECR.
Exemplo 3: criar um repositório configurado com uma configuração de digitalização
O exemplo de
create-repositorya seguir cria um repositório configurado para realizar uma verificação de vulnerabilidade no envio de imagens por push no registro padrão de uma conta.aws ecr create-repository \ --repository-nameproject-a/sample-repo\ --image-scanning-configurationscanOnPush=trueSaída:
{ "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 obter mais informações, consulte Verificação de Imagens no Guia do Usuário do Amazon ECR.
-
Para obter detalhes da API, consulte CreateRepository
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-lifecycle-policy.
- AWS CLI
-
Para excluir uma política de ciclo de vida de um repositório
O exemplo
delete-lifecycle-policya seguir exclui a política de ciclo de vida do repositóriohello-world.aws ecr delete-lifecycle-policy \ --repository-namehello-worldSaída:
{ "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 obter detalhes da API, consulte DeleteLifecyclePolicy
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-repository-policy.
- AWS CLI
-
Para excluir a política de repositório de um repositório
O exemplo
delete-repository-policya seguir exclui a política de repositório do repositóriocluster-autoscaler.aws ecr delete-repository-policy \ --repository-namecluster-autoscalerSaída:
{ "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 obter detalhes da API, consulte DeleteRepositoryPolicy
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-repository.
- AWS CLI
-
Para excluir um repositório
A força de comando do exemplo de
delete-repositorya seguir exclui o repositório especificado no registro padrão de uma conta. O sinalizador--forceserá obrigatório se o repositório contiver imagens.aws ecr delete-repository \ --repository-nameubuntu\ --forceSaída:
{ "repository": { "registryId": "123456789012", "repositoryName": "ubuntu", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/ubuntu" } }Para obter mais informações, consulte Excluir um repositório no Guia do usuário do Amazon ECR.
-
Para obter detalhes da API, consulte DeleteRepository
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-image-scan-findings.
- AWS CLI
-
Para descrever os resultados das descobertas de uma imagem
O exemplo
describe-image-scan-findingsa seguir retorna os resultados da descoberta de uma imagem usando o resumo da imagem no repositório especificado no registro padrão de uma conta.aws ecr describe-image-scan-findings \ --repository-namesample-repo\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6Saída:
{ "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 obter mais informações, consulte Verificação de Imagens no Guia do Usuário do Amazon ECR.
-
Para obter detalhes da API, consulte DescribeImageScanFindings
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-images.
- AWS CLI
-
Para descrever uma imagem em um repositório
O exemplo de
describe-imagesa seguir exibe os detalhes sobre uma imagem no repositóriocluster-autoscalercom a tagv1.13.6.aws ecr describe-images \ --repository-namecluster-autoscaler\ --image-idsimageTag=v1.13.6Saída:
{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }-
Para obter detalhes da API, consulte DescribeImages
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar describe-repositories.
- AWS CLI
-
Como descrever os repositórios em um registro
Este exemplo descreve os repositórios no registro padrão de uma conta.
Comando:
aws ecr describe-repositoriesSaída:
{ "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 obter detalhes da API, consulte DescribeRepositories
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-authorization-token.
- AWS CLI
-
Para obter um token de autorização para seu registro padrão
O comando do exemplo de
get-authorization-tokena seguir obtém um token de autorização para o registro padrão.aws ecr get-authorization-tokenSaída:
{ "authorizationData": [ { "authorizationToken": "QVdTOkN...", "expiresAt": 1448875853.241, "proxyEndpoint": "https://123456789012.dkr.ecr.us-west-2.amazonaws.com" } ] }-
Para obter detalhes da API, consulte GetAuthorizationToken
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-download-url-for-layer.
- AWS CLI
-
Para obter o URL de download de uma camada
O exemplo
get-download-url-for-layera seguir exibe o URL de download de uma camada com o resumosha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edno repositóriocluster-autoscaler.aws ecr get-download-url-for-layer \ --repository-namecluster-autoscaler\ --layer-digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834edSaída:
{ "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 obter detalhes da API, consulte GetDownloadUrlForLayer
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-lifecycle-policy-preview.
- AWS CLI
-
Para recuperar detalhes de uma prévia da política de ciclo de vida
O exemplo
get-lifecycle-policy-previewa seguir recupera o resultado de uma prévia da política de ciclo de vida para o repositório especificado no registro padrão de uma conta.Comando:
aws ecr get-lifecycle-policy-preview \ --repository-name"project-a/amazon-ecs-sample"Saída:
{ "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 obter mais informações, consulte Políticas de ciclo de vida no Guia do usuário do Amazon ECR.
-
Para obter detalhes da API, consulte GetLifecyclePolicyPreview
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-lifecycle-policy.
- AWS CLI
-
Para recuperar uma política de ciclo de vida
O exemplo
get-lifecycle-policya seguir exibe detalhes da política de ciclo de vida do repositório especificado no registro padrão da conta.aws ecr get-lifecycle-policy \ --repository-name"project-a/amazon-ecs-sample"Saída:
{ "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 obter mais informações, consulte Políticas de ciclo de vida no Guia do usuário do Amazon ECR.
-
Para obter detalhes da API, consulte GetLifecyclePolicy
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-login-password.
- AWS CLI
-
Para recuperar uma senha para se autenticar em um registro
A seguir,
get-login-passwordexibe uma senha que você pode usar com um cliente de contêiner de sua escolha para se autenticar em qualquer registro do Amazon ECR ao qual a entidade principal do IAM tenha acesso.aws ecr get-login-passwordSaída:
<password>Para usar com a CLI do Docker, canalize a saída do comando
get-login-passwordpara o comandodocker login. Ao recuperar a senha, certifique-se de especificar a mesma região em que seu registro do Amazon ECR existe.aws ecr get-login-password \ --region<region>\|dockerlogin\ --usernameAWS\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.com.rproxy.govskope.caPara obter mais informações, consulte Autenticação de registro no Guia do usuário do Amazon ECR.
-
Para obter detalhes da API, consulte GetLoginPassword
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-login.
- AWS CLI
-
Para recuperar um comando de login do Docker para seu registro padrão
Este exemplo imprime um comando que você pode usar para fazer login no seu registro padrão do Amazon ECR.
Comando:
aws ecr get-loginSaída:
docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com.rproxy.govskope.caComo fazer login no registro de outra conta
Este exemplo imprime um ou mais comandos que você pode usar para fazer login nos registros do Amazon ECR associados a outras contas.
Comando:
aws ecr get-login --registry-ids012345678910023456789012Saída:
docker login -u <username> -p <token-1> -e none <endpoint-1> docker login -u <username> -p <token-2> -e none <endpoint-2>-
Para obter detalhes da API, consulte GetLogin
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-repository-policy.
- AWS CLI
-
Recupera a política de repositório de um repositório especificado.
O exemplo de
get-repository-policya seguir exibe os detalhes sobre a política de repositório para o repositóriocluster-autoscaler.aws ecr get-repository-policy \ --repository-namecluster-autoscalerSaída:
{ "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 obter detalhes da API, consulte GetRepositoryPolicy
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar initiate-layer-upload.
- AWS CLI
-
Para iniciar o upload de uma camada de imagem
O exemplo
initiate-layer-uploada seguir inicia o upload de uma camada de imagem para o repositóriolayer-test.aws ecr initiate-layer-upload \ --repository-namelayer-testSaída:
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }-
Para obter detalhes da API, consulte InitiateLayerUpload
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-images.
- AWS CLI
-
Para listar as imagens em um repositório
O exemplo de
list-imagesa seguir exibe uma lista das imagens presentes no repositóriocluster-autoscaler.aws ecr list-images \ --repository-namecluster-autoscalerSaída:
{ "imageIds": [ { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.8" }, { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.7" }, { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" } ] }-
Para obter detalhes da API, consulte ListImages
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-tags-for-resource.
- AWS CLI
-
Para listar as tags para o repositório
O exemplo
list-tags-for-resourcea seguir exibe uma lista das tags associadas ao repositóriohello-world.aws ecr list-tags-for-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-worldSaída:
{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }-
Para obter detalhes da API, consulte ListTagsForResource
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-image-scanning-configuration.
- AWS CLI
-
Para atualizar a configuração de digitalização de imagens para um repositório
O exemplo
put-image-scanning-configurationa seguir atualiza a configuração de verificação de imagens para o repositório especificado.aws ecr put-image-scanning-configuration \ --repository-namesample-repo\ --image-scanning-configurationscanOnPush=trueSaída:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageScanningConfiguration": { "scanOnPush": true } }Para obter mais informações, consulte Verificação de Imagens no Guia do Usuário do Amazon ECR.
-
Para obter detalhes da API, consulte PutImageScanningConfiguration
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-image-tag-mutability.
- AWS CLI
-
Para atualizar a configuração de mutabilidade de tag de imagem para um repositório existente
O exemplo
put-image-tag-mutabilitya seguir configura o repositório especificado para imutabilidade de tags. Isso impede que todas as tags de imagem dentro do repositório sejam substituídas.aws ecr put-image-tag-mutability \ --repository-namehello-repository\ --image-tag-mutabilityIMMUTABLESaída:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }Para obter mais informações, consulte Mutabilidade da tag de imagem no Guia do usuário do Amazon ECR.
-
Para obter detalhes da API, consulte PutImageTagMutability
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-image.
- AWS CLI
-
Como remarcar uma imagem com seu manifesto
O exemplo
put-imagea seguir cria uma nova tag no repositóriohello-worldcom um manifesto de imagem existente.aws ecr put-image \ --repository-namehello-world\ --image-tag2019.08\ --image-manifestfile://hello-world.manifest.jsonConteúdo 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" } ] }Saída:
{ "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 obter detalhes da API, consulte PutImage
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-lifecycle-policy.
- AWS CLI
-
Para criar uma política de ciclo de vida
O exemplo
put-lifecycle-policya seguir cria uma política de ciclo de vida para o repositório especificado no registro padrão de uma conta.aws ecr put-lifecycle-policy \ --repository-name"project-a/amazon-ecs-sample"\ --lifecycle-policy-text"file://policy.json"Conteúdo 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" } } ] }Saída:
{ "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 obter mais informações, consulte Políticas de ciclo de vida no Guia do usuário do Amazon ECR.
-
Para obter detalhes da API, consulte PutLifeCyclePolicy
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar set-repository-policy.
- AWS CLI
-
Para definir a política de repositório para um repositório
O exemplo
set-repository-policya seguir anexa uma política de repositório contida em um arquivo ao repositóriocluster-autoscaler.aws ecr set-repository-policy \ --repository-namecluster-autoscaler\ --policy-textfile://my-policy.jsonConteúdo de
my-policy.json:{ "Version" : "2008-10-17", "Statement" : [ { "Sid" : "allow public pull", "Effect" : "Allow", "Principal" : "*", "Action" : [ "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer" ] } ] }Saída:
{ "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 obter detalhes da API, consulte SetRepositoryPolicy
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar start-image-scan.
- AWS CLI
-
Para iniciar uma verificação de vulnerabilidade de imagem
O exemplo
start-image-scana seguir inicia uma verificação de imagem para e especificada pelo resumo da imagem no repositório especificado.aws ecr start-image-scan \ --repository-namesample-repo\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6Saída:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageId": { "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6" }, "imageScanStatus": { "status": "IN_PROGRESS" } }Para obter mais informações, consulte Verificação de Imagens no Guia do Usuário do Amazon ECR.
-
Para obter detalhes da API, consulte StartImageScan
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar start-lifecycle-policy-preview.
- AWS CLI
-
Para criar uma política de ciclo de vida
O exemplo de
start-lifecycle-policy-previewa seguir cria uma pré-visualização prévia da política de ciclo de vida definida por um arquivo JSON para o repositório especificado.aws ecr start-lifecycle-policy-preview \ --repository-name"project-a/amazon-ecs-sample"\ --lifecycle-policy-text"file://policy.json"Conteúdo 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" } } ] }Saída:
{ "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 obter detalhes da API, consulte StartLifecyclePolicyPreview
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar tag-resource.
- AWS CLI
-
Como marcar um repositório
O exemplo
tag-resourcea seguir define uma tag com uma chaveIntege um valorStageno repositóriohello-world.aws ecr tag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tagsKey=Stage,Value=IntegEste comando não produz saída.
-
Para obter detalhes da API, consulte TagResource
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar untag-resource.
- AWS CLI
-
Como desmarcar um repositório
O exemplo
untag-resourcea seguir remove a tag com a chaveStagedo repositóriohello-world.aws ecr untag-resource \ --resource-arnarn:aws:ecr:us-west-2:012345678910:repository/hello-world\ --tag-keysStageEste comando não produz saída.
-
Para obter detalhes da API, consulte UntagResource
em Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar upload-layer-part.
- AWS CLI
-
Como carregar uma parte da camada
O
upload-layer-parta seguir carrega uma parte da camada de imagem no repositóriolayer-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.b64Saída:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }-
Para obter detalhes da API, consulte UploadLayerPart
em Referência de AWS CLI Comandos.
-