Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Crie e implante ativos de imagem de contêiner em aplicativos CDK

Modo de foco
Crie e implante ativos de imagem de contêiner em aplicativos CDK - AWS Cloud Development Kit (AWS CDK) v2

Este é o Guia do Desenvolvedor AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

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á.

Este é o Guia do Desenvolvedor AWS CDK v2. O CDK v1 antigo entrou em manutenção em 1º de junho de 2022 e encerrou o suporte em 1º de junho de 2023.

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á.

Quando você cria ativos de imagem de contêiner com o AWS Cloud Development Kit (AWS CDK), Docker é utilizado por padrão para realizar essas ações. Se você quiser usar uma ferramenta de gerenciamento de contêineres diferente, você pode substituir Docker por meio da variável de CDK_DOCKER ambiente.

Exemplo: Crie e publique um ativo de imagem de contêiner com o AWS CDK

A seguir está um exemplo simples de um AWS CDK aplicativo que cria e publica um ativo de contêiner no Amazon Elastic Container Registry (Amazon ECR) usando Docker por padrão:

Estrutura do projeto:

my-cdk-app/ ├── lib/ │ ├── my-stack.ts │ └── docker/ │ ├── Dockerfile │ └── app/ │ └── index.js ├── bin/ │ └── my-cdk-app.ts ├── package.json ├── tsconfig.json └── cdk.json

Dockerfile:

FROM public.ecr.aws/lambda/nodejs:16 # Copy application code COPY app/ /var/task/ # (Optional) Install dependencies # RUN npm install # The AWS Lambda Node.js base image looks for index.handler by default

Código do aplicativo:

Em lib/docker/app/index.js:

console.log("Hello from inside the container!");

Pilha de CDK:

import * as cdk from 'aws-cdk-lib'; import { Construct } from 'constructs'; import * as ecr_assets from 'aws-cdk-lib/aws-ecr-assets'; export class MyStack extends cdk.Stack { constructor(scope: Construct, id: string) { super(scope, id); // Define a Docker image asset const dockerImageAsset = new ecr_assets.DockerImageAsset(this, 'MyDockerImage', { directory: 'lib/docker', // Path to the directory containing the Dockerfile }); // Output the ECR URI new cdk.CfnOutput(this, 'ECRImageUri', { value: dockerImageAsset.imageUri, }); } }

Aplicativo CDK:

#!/usr/bin/env node import * as cdk from 'aws-cdk-lib'; import { MyStack } from '../lib/my-stack'; const app = new cdk.App(); new MyStack(app, 'MyStack');

Quando executamoscdk deploy, a interface de linha de AWS Cloud Development Kit (AWS CDK) comando (CLI) faz o seguinte:

  1. Construa o Docker imagem — Execute docker build localmente com base Dockerfile no diretório especificado (lib/docker).

  2. Marque a imagem — Execute docker tag para marcar a imagem criada com um hash exclusivo, com base no conteúdo da imagem.

  3. Publicar no Amazon ECR — Execute docker push para publicar a imagem do contêiner em um repositório do Amazon ECR. Esse repositório já deve existir. Ele é criado durante o processo de inicialização padrão.

  4. Exiba o URI da imagem — Depois de uma implantação bem-sucedida, o URI do Amazon ECR da imagem do contêiner publicada é exibido em seu prompt de comando. Este é o URI do nosso Docker imagem no Amazon ECR.

Como substituir Docker com outra ferramenta de gerenciamento de contêineres

Use a variável de CDK_DOCKER ambiente para especificar o caminho para o binário da sua ferramenta de gerenciamento de contêineres substituta. A seguir está um exemplo de substituição Docker por Finch:

$ which finch /usr/local/bin/finch # Locate the path to the binary $ export CDK_DOCKER='/usr/local/bin/finch' # Set the environment variable $ cdk deploy # Deploy using the replacement

Não há suporte para aliasing ou vinculação. Para substituir Docker, você deve usar a variável de CDK_DOCKER ambiente.

Compatível Docker motores de substituição automáticos

Finch é suportado, embora possa haver alguns Docker recursos que não estão disponíveis ou podem funcionar de forma diferente à medida que a ferramenta evolui. Para obter mais informações sobre Finch, consulte Ready for Flight: Announcing Finch 1.0 GA! no blog de código AWS aberto.

Outras ferramentas de gerenciamento de contêineres podem funcionar. O CDK não verifica quais Docker substituição que você está usando para determinar se é compatível. Se a ferramenta tiver equivalente Docker comanda e se comporta de forma semelhante, deve funcionar.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.