ContainerRecipe
The ContainerRecipe resource lets you manage AWS ImageBuilder ContainerRecipes for building and customizing container images.
Minimal Example
Section titled “Minimal Example”Create a basic container recipe with required properties and a common optional property.
import AWS from "alchemy/aws/control";
const basicContainerRecipe = await AWS.ImageBuilder.ContainerRecipe("myContainerRecipe", { parentImage: "my-docker-repo/my-base-image:latest", containerType: "DOCKER", name: "MyContainerRecipe", version: "1.0.0", components: [ { type: "BUILD", uri: "my-docker-repo/my-component:latest" } ], targetRepository: { service: "ECR", repository: "my-docker-repo", imageTag: "latest" }});
Advanced Configuration
Section titled “Advanced Configuration”Configure a container recipe with additional options such as KMS key for encryption and instance configuration.
const advancedContainerRecipe = await AWS.ImageBuilder.ContainerRecipe("advancedContainerRecipe", { parentImage: "my-docker-repo/my-base-image:latest", containerType: "DOCKER", name: "AdvancedContainerRecipe", version: "1.0.1", components: [ { type: "BUILD", uri: "my-docker-repo/my-component:latest" } ], targetRepository: { service: "ECR", repository: "my-docker-repo", imageTag: "latest" }, kmsKeyId: "arn:aws:kms:us-west-2:123456789012:key/abcd1234-a123-456a-a12b-a123b4cd56ef", instanceConfiguration: { instanceType: "t2.micro", ami: "ami-0abc12345def67890" }});
Using Dockerfile Template
Section titled “Using Dockerfile Template”Create a container recipe using a Dockerfile template for more complex image builds.
const dockerfileTemplateContainerRecipe = await AWS.ImageBuilder.ContainerRecipe("dockerfileTemplateContainerRecipe", { parentImage: "my-docker-repo/my-base-image:latest", containerType: "DOCKER", name: "DockerfileTemplateContainerRecipe", version: "1.0.2", components: [ { type: "BUILD", uri: "my-docker-repo/my-component:latest" } ], targetRepository: { service: "ECR", repository: "my-docker-repo", imageTag: "latest" }, dockerfileTemplateData: ` FROM node:14 COPY . /app WORKDIR /app RUN npm install CMD ["npm", "start"] `});