Skip to main content

Docker image assets

Project description

AWS CDK Docker Image Assets

This module allows bundling Docker images as assets.

Images are built from a local Docker context directory (with a Dockerfile), uploaded to ECR by the CDK toolkit and/or your app's CI-CD pipeline, and can be naturally referenced in your CDK app.

import { DockerImageAsset } from '@aws-cdk/assets-docker';

const asset = new DockerImageAsset(this, 'MyBuildImage', {
  directory: path.join(__dirname, 'my-image')
});

The directory my-image must include a Dockerfile.

This will instruct the toolkit to build a Docker image from my-image, push it to an AWS ECR repository and wire the name of the repository as CloudFormation parameters to your stack.

Use asset.imageUri to reference the image (it includes both the ECR image URL and tag.

You can optionally pass build args to the docker build command by specifying the buildArgs property:

const asset = new DockerImageAsset(this, 'MyBuildImage', {
  directory: path.join(__dirname, 'my-image'),
  buildArgs: {
    HTTP_PROXY: 'http://10.20.30.2:1234'
  }
});

Pull Permissions

Depending on the consumer of your image asset, you will need to make sure the principal has permissions to pull the image.

In most cases, you should use the asset.repository.grantPull(principal) method. This will modify the IAM policy of the principal to allow it to pull images from this repository.

If the pulling principal is not in the same account or is an AWS service that doesn't assume a role in your account (e.g. AWS CodeBuild), pull permissions must be granted on the resource policy (and not on the principal's policy). To do that, you can use asset.repository.addToResourcePolicy(statement) to grant the desired principal the following permissions: "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" and "ecr:BatchCheckLayerAvailability".

Project details


Download files

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

Source Distribution

aws-cdk.assets-docker-0.32.0.tar.gz (39.4 kB view details)

Uploaded Source

Built Distribution

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

aws_cdk.assets_docker-0.32.0-py3-none-any.whl (38.0 kB view details)

Uploaded Python 3

File details

Details for the file aws-cdk.assets-docker-0.32.0.tar.gz.

File metadata

  • Download URL: aws-cdk.assets-docker-0.32.0.tar.gz
  • Upload date:
  • Size: 39.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.5

File hashes

Hashes for aws-cdk.assets-docker-0.32.0.tar.gz
Algorithm Hash digest
SHA256 d5f4587e587efb4314622d196b5946473ff90440e2a22c176088e5c1a6f2618b
MD5 7e7709b7ef111cb5893d7f555f448627
BLAKE2b-256 fb3c1113e8ec40789601f5f629ba990837158cef104d456e870396fa9685c3f4

See more details on using hashes here.

File details

Details for the file aws_cdk.assets_docker-0.32.0-py3-none-any.whl.

File metadata

  • Download URL: aws_cdk.assets_docker-0.32.0-py3-none-any.whl
  • Upload date:
  • Size: 38.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.5

File hashes

Hashes for aws_cdk.assets_docker-0.32.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7a3c8b74b92a0bfc3ea39a194a4c982f692900f12028625b4f696e418aa445ce
MD5 0e5cebdbba542e0bc5fb887636ea4ff9
BLAKE2b-256 4b41c12295af9f97969dd24fdbb58eb7f91b1b15e117ed03a542c9a74bc1b425

See more details on using hashes here.

Supported by

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