aws-cdk-lib.aws_ecr_assets.DockerImageAssetProps

interface DockerImageAssetProps

LanguageType name
.NETAmazon.CDK.AWS.Ecr.Assets.DockerImageAssetProps
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsecrassets#DockerImageAssetProps
Javasoftware.amazon.awscdk.services.ecr.assets.DockerImageAssetProps
Pythonaws_cdk.aws_ecr_assets.DockerImageAssetProps
TypeScript (source)aws-cdk-lib » aws_ecr_assets » DockerImageAssetProps

Props for DockerImageAssets.

Example

import { DockerImageAsset } from 'aws-cdk-lib/aws-ecr-assets';

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

Properties

NameTypeDescription
directorystringThe directory where the Dockerfile is stored.
assetName?stringUnique identifier of the docker image asset and its potential revisions.
buildArgs?{ [string]: string }Build args to pass to the docker build command.
buildSecrets?{ [string]: string }Build secrets.
cacheFrom?DockerCacheOption[]Cache from options to pass to the docker build command.
cacheTo?DockerCacheOptionCache to options to pass to the docker build command.
exclude?string[]File paths matching the patterns will be excluded.
extraHash?stringExtra information to encode into the fingerprint (e.g. build instructions and other inputs).
file?stringPath to the Dockerfile (relative to the directory).
followSymlinks?SymlinkFollowModeA strategy for how to handle symlinks.
ignoreMode?IgnoreModeThe ignore behavior to use for exclude patterns.
invalidation?DockerImageAssetInvalidationOptionsOptions to control which parameters are used to invalidate the asset hash.
networkMode?NetworkModeNetworking mode for the RUN commands during build.
outputs?string[]Outputs to pass to the docker build command.
platform?PlatformPlatform to build for.
target?stringDocker target to build to.

directory

Type: string

The directory where the Dockerfile is stored.

Any directory inside with a name that matches the CDK output folder (cdk.out by default) will be excluded from the asset


assetName?

Type: string (optional, default: no asset name)

Unique identifier of the docker image asset and its potential revisions.

Required if using AppScopedStagingSynthesizer.


buildArgs?

Type: { [string]: string } (optional, default: no build args are passed)

Build args to pass to the docker build command.

Since Docker build arguments are resolved before deployment, keys and values cannot refer to unresolved tokens (such as lambda.functionArn or queue.queueUrl).


buildSecrets?

Type: { [string]: string } (optional, default: no build secrets)

Build secrets.

Docker BuildKit must be enabled to use build secrets.

See also: https://docs.docker.com/build/buildkit/ Example

import { DockerBuildSecret } from 'aws-cdk-lib';

const buildSecrets = {
  'MY_SECRET': DockerBuildSecret.fromSrc('file.txt')
};

cacheFrom?

Type: DockerCacheOption[] (optional, default: no cache from options are passed to the build command)

Cache from options to pass to the docker build command.

See also: https://docs.docker.com/build/cache/backends/


cacheTo?

Type: DockerCacheOption (optional, default: no cache to options are passed to the build command)

Cache to options to pass to the docker build command.

See also: https://docs.docker.com/build/cache/backends/


exclude?

Type: string[] (optional, default: nothing is excluded)

File paths matching the patterns will be excluded.

See ignoreMode to set the matching behavior. Has no effect on Assets bundled using the bundling property.


extraHash?

Type: string (optional, default: hash is only based on source content)

Extra information to encode into the fingerprint (e.g. build instructions and other inputs).


file?

Type: string (optional, default: 'Dockerfile')

Path to the Dockerfile (relative to the directory).


followSymlinks?

Type: SymlinkFollowMode (optional, default: SymlinkFollowMode.NEVER)

A strategy for how to handle symlinks.


ignoreMode?

Type: IgnoreMode (optional, default: IgnoreMode.GLOB)

The ignore behavior to use for exclude patterns.


invalidation?

Type: DockerImageAssetInvalidationOptions (optional, default: hash all parameters)

Options to control which parameters are used to invalidate the asset hash.


networkMode?

Type: NetworkMode (optional, default: no networking mode specified (the default networking mode NetworkMode.DEFAULT will be used))

Networking mode for the RUN commands during build.

Support docker API 1.25+.


outputs?

Type: string[] (optional, default: no outputs are passed to the build command (default outputs are used))

Outputs to pass to the docker build command.

See also: https://docs.docker.com/engine/reference/commandline/build/#custom-build-outputs


platform?

Type: Platform (optional, default: no platform specified (the current machine architecture will be used))

Platform to build for.

Requires Docker Buildx.


target?

Type: string (optional, default: no target)

Docker target to build to.