Skip to main content

CDK Docker Image Deployment

This module allows you to copy docker image assets to a repository you control. This can be necessary if you want to build a Docker image in one CDK app and consume it in a different app or outside the CDK, or if you want to apply a lifecycle policy to all images of a part of your application.

Getting Started

Below is a basic example for how to use the DockerImageDeployment API:

import * as ecr from 'aws-cdk-lib/aws-ecr';
import * as imagedeploy from 'cdk-docker-image-deployment';

const repo = ecr.Repository.fromRepositoryName(this, 'MyRepository', 'myrepository');

new imagedeploy.DockerImageDeployment(this, 'ExampleImageDeploymentWithTag', {
  source: imagedeploy.Source.directory('path/to/directory'),
  destination: imagedeploy.Destination.ecr(repo, {
    tag: 'myspecialtag',
  }),
});

Currently Supported Sources

  • Source.directory(): Supply a path to a local docker image as source.

Don't see a source listed? See if there is an open issue or PR already. If not, please open an issue asking for it or better yet, submit a contribution!

Currently Supported Destinations

  • Destination.ecr(repo, options): Send your docker image to an ECR repository in your stack's account.

Don't see a destination listed? See if there is an open issue or PR already. If not, please open an issue asking for it or better yet, submit a contribution!

Under the Hood

  1. When this stack is deployed (either via cdk deploy or via CI/CD), the contents of the local Docker image will be archived and uploaded to an intermediary assets ECR Repository using the cdk-assets mechanism.
  2. The DockerImageDeployment construct synthesizes a CodeBuild Project which uses docker to pull the image from the intermediary repository, tag the image if a tag is provided, and push the image to the destination repository.
  3. The deployment will wait until the CodeBuild Project completes successfully before finishing.

The architecture of this construct can be seen here:

Construct-Architecture

Security

See CONTRIBUTING for more information.

License

This project is licensed under the Apache-2.0 License.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdk_docker_image_deployment-0.0.1006.tar.gz (13.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdk_docker_image_deployment-0.0.1006-py3-none-any.whl (13.1 MB view details)

Uploaded Python 3

File details

Details for the file cdk_docker_image_deployment-0.0.1006.tar.gz.

File metadata

File hashes

Hashes for cdk_docker_image_deployment-0.0.1006.tar.gz
Algorithm Hash digest
SHA256 d48e55b468fa1814727147b0e9fe1b685d835885230087a2036d35cd9b4fb05f
MD5 26fb1ffd79d2f737f240b6f51949020a
BLAKE2b-256 859c1e5db6e5de598040350e31ff2f40238a57c0573d423f2365e50d7603061f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cdk_docker_image_deployment-0.0.1006.tar.gz:

Publisher: release.yml on cdklabs/cdk-docker-image-deployment

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cdk_docker_image_deployment-0.0.1006-py3-none-any.whl.

File metadata

File hashes

Hashes for cdk_docker_image_deployment-0.0.1006-py3-none-any.whl
Algorithm Hash digest
SHA256 fe26f2fc9c04f80d20eae4798e6e23de4cf17e8e6219c9a54e8aa00bc7a7a75e
MD5 90c9ab614a6b8af0ac088938a33305bf
BLAKE2b-256 7d1cb0160b6310dffbe32c3cdcbbc3b8e90b1c9f45d687c71e6fd14d30f2805e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cdk_docker_image_deployment-0.0.1006-py3-none-any.whl:

Publisher: release.yml on cdklabs/cdk-docker-image-deployment

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page