Há mais AWS SDK exemplos disponíveis no GitHub 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á.
ECRExemplos da Amazon 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 a AmazonECR.
Ações são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar funções de serviço individuais, é possível ver as ações no contexto em seus cenários relacionados.
Cada exemplo inclui um link para o código-fonte completo, onde você pode encontrar instruções sobre como configurar e executar o código no contexto.
Tópicos
Ações
O código de exemplo a seguir mostra como usar batch-check-layer-availability
.
- AWS CLI
-
Para verificar a disponibilidade de uma camada
O
batch-check-layer-availability
exemplo a seguir verifica a disponibilidade de uma camada com o resumosha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
nocluster-autoscaler
repositório.aws ecr batch-check-layer-availability \ --repository-name
cluster-autoscaler
\ --layer-digestssha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
Saída:
{ "layers": [ { "layerDigest": "sha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed", "layerAvailability": "AVAILABLE", "layerSize": 2777, "mediaType": "application/vnd.docker.container.image.v1+json" } ], "failures": [] }
-
Para API obter detalhes, consulte BatchCheckLayerAvailability
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar batch-delete-image
.
- AWS CLI
-
Exemplo 1: Para excluir uma imagem
O
batch-delete-image
exemplo a seguir exclui uma imagem com a tagprecise
no repositório especificado no registro padrão de uma conta.aws ecr batch-delete-image \ --repository-name
ubuntu
\ --image-idsimageTag=precise
Saída:
{ "failures": [], "imageIds": [ { "imageTag": "precise", "imageDigest": "sha256:19665f1e6d1e504117a1743c0a3d3753086354a38375961f2e665416ef4b1b2f" } ] }
Exemplo 2: Para excluir várias imagens
O
batch-delete-image
exemplo a seguir exclui todas as imagens marcadas comprod
eteam1
no repositório especificado.aws ecr batch-delete-image \ --repository-name
MyRepository
\ --image-idsimageTag=prod
imageTag=team1
Saída:
{ "imageIds": [ { "imageDigest": "sha256:123456789012", "imageTag": "prod" }, { "imageDigest": "sha256:567890121234", "imageTag": "team1" } ], "failures": [] }
Para obter mais informações, consulte Excluindo uma imagem no Guia do ECR usuário da Amazon.
-
Para API obter detalhes, consulte BatchDeleteImage
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar batch-get-image
.
- AWS CLI
-
Exemplo 1: Para obter uma imagem
O
batch-get-image
exemplo a seguir obtém uma imagem com a tagv1.13.6
em um repositório chamadocluster-autoscaler
no registro padrão de uma conta.aws ecr batch-get-image \ --repository-name
cluster-autoscaler
\ --image-idsimageTag=v1.13.6
Saí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: Para obter várias imagens
O
batch-get-image
exemplo a seguir exibe detalhes de todas as imagens marcadas comprod
eteam1
no repositório especificado.aws ecr batch-get-image \ --repository-name
MyRepository
\ --image-idsimageTag=prod
imageTag=team1
Saí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 ECR usuário da Amazon.
-
Para API obter detalhes, consulte BatchGetImage
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar complete-layer-upload
.
- AWS CLI
-
Para concluir o upload de uma camada de imagem
O
complete-layer-upload
exemplo a seguir conclui o upload de uma camada de imagem para olayer-test
repositório.aws ecr complete-layer-upload \ --repository-name
layer-test
\ --upload-id6cb64b8a-9378-0e33-2ab1-b780fab8a9e9
\ --layer-digests6cb64b8a-9378-0e33-2ab1-b780fab8a9e9:48074e6d3a68b39aad8ccc002cdad912d4148c0f92b3729323e
Saída:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "layerDigest": "sha256:9a77f85878aa1906f2020a0ecdf7a7e962d57e882250acd773383224b3fe9a02", "repositoryName": "layer-test", "registryId": "130757420319" }
-
Para API obter detalhes, consulte CompleteLayerUpload
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar create-repository
.
- AWS CLI
-
Exemplo 1: para criar um repositório
O exemplo de
create-repository
a seguir cria um repositório dentro do namespace especificado no registro padrão de uma conta.aws ecr create-repository \ --repository-name
project-a/sample-repo
Saí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 Criação de um repositório no Guia do ECR usuário da Amazon.
Exemplo 2: para criar um repositório configurado com imutabilidade da tag de imagem
O exemplo de
create-repository
a seguir cria um repositório configurado para imutabilidade da tag no registro padrão de uma conta.aws ecr create-repository \ --repository-name
project-a/sample-repo
\ --image-tag-mutabilityIMMUTABLE
Saí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 Image Tag Mutability no Guia do ECR usuário da Amazon.
Exemplo 3: para criar um repositório configurado com uma configuração de verificação
O exemplo de
create-repository
a seguir cria um repositório configurado para realizar uma verificação de vulnerabilidade no envio por push de imagens no registro padrão de uma conta.aws ecr create-repository \ --repository-name
project-a/sample-repo
\ --image-scanning-configurationscanOnPush=true
Saí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 Digitalização de imagens no Guia ECR do usuário da Amazon.
-
Para API obter detalhes, consulte CreateRepository
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar delete-lifecycle-policy
.
- AWS CLI
-
Para excluir a política de ciclo de vida de um repositório
O
delete-lifecycle-policy
exemplo a seguir exclui a política de ciclo de vida do repositório.hello-world
aws ecr delete-lifecycle-policy \ --repository-name
hello-world
Saí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 API obter detalhes, consulte DeleteLifecyclePolicy
na 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
delete-repository-policy
exemplo a seguir exclui a política de repositório docluster-autoscaler
repositório.aws ecr delete-repository-policy \ --repository-name
cluster-autoscaler
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 API obter detalhes, consulte DeleteRepositoryPolicy
na 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-repository
a seguir exclui o repositório especificado no registro padrão de uma conta. O sinalizador--force
será obrigatório se o repositório contiver imagens.aws ecr delete-repository \ --repository-name
ubuntu
\ --forceSaída:
{ "repository": { "registryId": "123456789012", "repositoryName": "ubuntu", "repositoryArn": "arn:aws:ecr:us-west-2:123456789012:repository/ubuntu" } }
Para obter mais informações, consulte Excluindo um repositório no Guia ECR do usuário da Amazon.
-
Para API obter detalhes, consulte DeleteRepository
na 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 da digitalização de uma imagem
O
describe-image-scan-findings
exemplo a seguir retorna os resultados da digitalização 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-name
sample-repo
\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6
Saí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 Digitalização de imagens no Guia ECR do usuário da Amazon.
-
Para API obter detalhes, consulte DescribeImageScanFindings
na 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-images
a seguir exibe os detalhes sobre uma imagem no repositóriocluster-autoscaler
com a tagv1.13.6
.aws ecr describe-images \ --repository-name
cluster-autoscaler
\ --image-idsimageTag=v1.13.6
Saída:
{ "imageDetails": [ { "registryId": "012345678910", "repositoryName": "cluster-autoscaler", "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTags": [ "v1.13.6" ], "imageSizeInBytes": 48318255, "imagePushedAt": 1565128275.0 } ] }
-
Para API obter detalhes, consulte DescribeImages
na 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-repositories
Saí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 API obter detalhes, consulte DescribeRepositories
na 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 o registro padrão
O comando do exemplo de
get-authorization-token
a seguir obtém um token de autorização para o registro padrão.aws ecr get-authorization-token
Saída:
{ "authorizationData": [ { "authorizationToken": "QVdTOkN...", "expiresAt": 1448875853.241, "proxyEndpoint": "https://123456789012.dkr.ecr.us-west-2.amazonaws.com" } ] }
-
Para API obter detalhes, consulte GetAuthorizationToken
na 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 download URL de uma camada
O
get-download-url-for-layer
exemplo a seguir exibe o download URL de uma camada com o resumosha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
nocluster-autoscaler
repositório.aws ecr get-download-url-for-layer \ --repository-name
cluster-autoscaler
\ --layer-digestsha256:6171c7451a50945f8ddd72f7732cc04d7a0d1f48138a426b2e64387fdeb834ed
Saí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 API obter detalhes, consulte GetDownloadUrlForLayer
na 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
get-lifecycle-policy-preview
exemplo a 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 ECR usuário da Amazon.
-
Para API obter detalhes, consulte GetLifecyclePolicyPreview
na 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
get-lifecycle-policy
exemplo a 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 ECR usuário da Amazon.
-
Para API obter detalhes, consulte GetLifecyclePolicy
na 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-password
exibida uma senha que você pode usar com um cliente de contêiner de sua escolha para se autenticar em qualquer ECR registro da Amazon ao qual seu IAM diretor tenha acesso.aws ecr get-login-password
Saída:
<password>
Para usar com o DockerCLI, canalize a saída do
get-login-password
comando para odocker login
comando. Ao recuperar a senha, certifique-se de especificar a mesma região em que seu ECR registro da Amazon existe.aws ecr get-login-password \ --region
<region>
\|
docker
login
\ --usernameAWS
\ --password-stdin<aws_account_id>.dkr.ecr.<region>.amazonaws.com
Para obter mais informações, consulte Autenticação de registro no Guia ECR do usuário da Amazon.
-
Para API obter detalhes, consulte GetLoginPassword
na 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 ECR registro padrão da Amazon.
Comando:
aws ecr get-login
Saída:
docker login -u AWS -p <password> -e none https://<aws_account_id>.dkr.ecr.<region>.amazonaws.com
Para fazer login no registro de outra conta
Este exemplo imprime um ou mais comandos que você pode usar para fazer login nos ECR registros da Amazon associados a outras contas.
Comando:
aws ecr get-login --registry-ids
012345678910
023456789012
Saída:
docker login -u <username> -p <token-1> -e none <endpoint-1> docker login -u <username> -p <token-2> -e none <endpoint-2>
-
Para API obter detalhes, consulte GetLogin
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar get-repository-policy
.
- AWS CLI
-
Para recuperar a política de repositório de um repositório
O exemplo de
get-repository-policy
a seguir exibe os detalhes sobre a política de repositório para o repositóriocluster-autoscaler
.aws ecr get-repository-policy \ --repository-name
cluster-autoscaler
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 API obter detalhes, consulte GetRepositoryPolicy
na 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
initiate-layer-upload
exemplo a seguir inicia o upload de uma camada de imagem para olayer-test
repositório.aws ecr initiate-layer-upload \ --repository-name
layer-test
Saída:
{ "partSize": 10485760, "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9" }
-
Para API obter detalhes, consulte InitiateLayerUpload
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar list-images
.
- AWS CLI
-
Como listar as imagens em um repositório
O exemplo de
list-images
a seguir exibe uma lista das imagens presentes no repositóriocluster-autoscaler
.aws ecr list-images \ --repository-name
cluster-autoscaler
Saída:
{ "imageIds": [ { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.8" }, { "imageDigest": "sha256:99c6fb4377e9a420a1eb3b410a951c9f464eff3b7dbc76c65e434e39b94b6570", "imageTag": "v1.13.7" }, { "imageDigest": "sha256:4a1c6567c38904384ebc64e35b7eeddd8451110c299e3368d2210066487d97e5", "imageTag": "v1.13.6" } ] }
-
Para API obter detalhes, consulte ListImages
na 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
list-tags-for-resource
exemplo a seguir exibe uma lista das tags associadas aohello-world
repositório.aws ecr list-tags-for-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
Saída:
{ "tags": [ { "Key": "Stage", "Value": "Integ" } ] }
-
Para API obter detalhes, consulte ListTagsForResource
na 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
put-image-scanning-configuration
exemplo a seguir atualiza a configuração de digitalização de imagens para o repositório especificado.aws ecr put-image-scanning-configuration \ --repository-name
sample-repo
\ --image-scanning-configurationscanOnPush=true
Saída:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageScanningConfiguration": { "scanOnPush": true } }
Para obter mais informações, consulte Digitalização de imagens no Guia ECR do usuário da Amazon.
-
Para API obter detalhes, consulte PutImageScanningConfiguration
na 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 da tag de imagem para um repositório
O
put-image-tag-mutability
exemplo a seguir configura o repositório especificado para imutabilidade de tags. Isso evita que todas as tags de imagem no repositório sejam sobrescritas.aws ecr put-image-tag-mutability \ --repository-name
hello-repository
\ --image-tag-mutabilityIMMUTABLE
Saída:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageTagMutability": "IMMUTABLE" }
Para obter mais informações, consulte Image Tag Mutability no Guia do ECR usuário da Amazon.
-
Para API obter detalhes, consulte PutImageTagMutability
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar put-image
.
- AWS CLI
-
Para remarcar uma imagem com seu manifesto
O
put-image
exemplo a seguir cria uma nova tag nohello-world
repositório com um manifesto de imagem existente.aws ecr put-image \ --repository-name
hello-world
\ --image-tag2019.08
\ --image-manifestfile://hello-world.manifest.json
Conteú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 API obter detalhes, consulte PutImage
na 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
put-lifecycle-policy
exemplo a 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 ECR usuário da Amazon.
-
Para API obter detalhes, consulte PutLifecyclePolicy
na 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 de
set-repository-policy
a seguir anexa uma política de repositório contida em um arquivo ao repositóriocluster-autoscaler
.aws ecr set-repository-policy \ --repository-name
cluster-autoscaler
\ --policy-textfile://my-policy.json
Conteú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 API obter detalhes, consulte SetRepositoryPolicy
na 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
start-image-scan
exemplo a seguir inicia uma digitalização de imagem para e especificada pelo resumo da imagem no repositório especificado.aws ecr start-image-scan \ --repository-name
sample-repo
\ --image-idimageDigest=sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6
Saída:
{ "registryId": "012345678910", "repositoryName": "sample-repo", "imageId": { "imageDigest": "sha256:74b2c688c700ec95a93e478cdb959737c148df3fbf5ea706abe0318726e885e6" }, "imageScanStatus": { "status": "IN_PROGRESS" } }
Para obter mais informações, consulte Digitalização de imagens no Guia ECR do usuário da Amazon.
-
Para API obter detalhes, consulte StartImageScan
na 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 pré-visualização da política de ciclo de vida
O
start-lifecycle-policy-preview
exemplo a seguir cria uma visualização prévia da política de ciclo de vida definida por um JSON arquivo 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 API obter detalhes, consulte StartLifecyclePolicyPreview
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar tag-resource
.
- AWS CLI
-
Para marcar um repositório
O
tag-resource
exemplo a seguir define uma tag com chaveStage
e valorInteg
nohello-world
repositório.aws ecr tag-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
\ --tagsKey=Stage,Value=Integ
Este comando não produz saída.
-
Para API obter detalhes, consulte TagResource
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar untag-resource
.
- AWS CLI
-
Para desmarcar um repositório
O
untag-resource
exemplo a seguir remove a tag com a chaveStage
dohello-world
repositório.aws ecr untag-resource \ --resource-arn
arn:aws:ecr:us-west-2:012345678910:repository/hello-world
\ --tag-keysStage
Este comando não produz saída.
-
Para API obter detalhes, consulte UntagResource
na Referência de AWS CLI Comandos.
-
O código de exemplo a seguir mostra como usar upload-layer-part
.
- AWS CLI
-
Para carregar uma parte da camada
O seguinte
upload-layer-part
carrega uma parte da camada de imagem para olayer-test
repositório.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
Saída:
{ "uploadId": "6cb64b8a-9378-0e33-2ab1-b780fab8a9e9", "registryId": "012345678910", "lastByteReceived": 8323314, "repositoryName": "layer-test" }
-
Para API obter detalhes, consulte UploadLayerPart
na Referência de AWS CLI Comandos.
-