Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Container-Image-Assets in CDK-Apps erstellen und bereitstellen

Fokusmodus
Container-Image-Assets in CDK-Apps erstellen und bereitstellen - AWS Cloud Development Kit (AWS CDK) v2

Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 in die Wartung aufgenommen und der Support wurde am 1. Juni 2023 eingestellt.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Dies ist der AWS CDK v2-Entwicklerhandbuch. Das ältere CDK v1 wurde am 1. Juni 2022 in die Wartung aufgenommen und der Support wurde am 1. Juni 2023 eingestellt.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Wenn Sie Container-Image-Assets mit dem erstellen AWS Cloud Development Kit (AWS CDK), Docker wird standardmäßig verwendet, um diese Aktionen auszuführen. Wenn Sie ein anderes Container-Management-Tool verwenden möchten, können Sie es ersetzen Docker durch die CDK_DOCKER Umgebungsvariable.

Beispiel: Erstellen und veröffentlichen Sie ein Container-Image-Asset mit dem AWS CDK

Im Folgenden finden Sie ein einfaches Beispiel für eine AWS CDK App, die ein Container-Asset erstellt und in Amazon Elastic Container Registry (Amazon ECR) veröffentlicht, indem Docker standardmäßig:

Struktur des Projekts:

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

Anwendungscode:

In lib/docker/app/index.js:

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

CDK-Stapel:

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, }); } }

CDK-App:

#!/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');

Wenn wir ausführencdk deploy, wird die AWS Cloud Development Kit (AWS CDK) Befehlszeilenschnittstelle (CLI) macht Folgendes:

  1. Baue das Docker Bild — Wird docker build lokal ausgeführt, basierend auf dem Dockerfile im angegebenen Verzeichnis (lib/docker).

  2. Bild kennzeichnen — Wird ausgeführtdocker tag, um das erstellte Image mit einem eindeutigen Hash zu versehen, der auf dem Bildinhalt basiert.

  3. In Amazon ECR veröffentlichen — Führen Sie diesen Befehl ausdocker push, um das Container-Image in einem Amazon ECR-Repository zu veröffentlichen. Dieses Repository muss bereits existieren. Es wird während des Standard-Bootstrapping-Vorgangs erstellt.

  4. Image-URI ausgeben — Nach einer erfolgreichen Bereitstellung wird der Amazon ECR-URI des veröffentlichten Container-Images in Ihrer Befehlszeile ausgegeben. Dies ist die URI unserer Docker Bild in Amazon ECR.

Wie ersetzt man Docker mit einem anderen Container-Management-Tool

Verwenden Sie die CDK_DOCKER Umgebungsvariable, um den Pfad zur Binärdatei Ihres Ersatz-Container-Verwaltungstools anzugeben. Im Folgenden finden Sie ein Beispiel für das Ersetzen Docker mit 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

Aliasing oder Verlinkung werden nicht unterstützt. Zu ersetzen Docker, müssen Sie die CDK_DOCKER Umgebungsvariable verwenden.

Unterstützt Docker Ersatzmotoren, die sofort einsatzbereit sind

Finch wird unterstützt, obwohl es einige geben kann Docker Funktionen, die nicht verfügbar sind oder im Zuge der Weiterentwicklung des Tools möglicherweise anders funktionieren. Weitere Informationen zu Finch finden Sie unter Ready for Flight: Ankündigung von Finch 1.0 GA! im AWS Open-Source-Blog.

Andere Tools zur Containerverwaltung funktionieren möglicherweise. Das CDK prüft nicht, welche Docker Ersatz, den Sie verwenden, um festzustellen, ob er unterstützt wird. Wenn das Tool gleichwertig ist Docker Befehle und Verhalten ähnlich, sollte es funktionieren.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.