CDKTF Docker Provider

raw JSON →
12.0.3 verified Fri May 01 auth: no python

Prebuilt Terraform CDK (CDKTF) provider for Docker. Allows managing Docker resources (containers, images, networks, volumes) using TypeScript/Python/go/.NET. Current version: 12.0.3, requires Python ~=3.9. Released alongside CDKTF, follows provider versioning scheme.

pip install cdktf-cdktf-provider-docker
error ModuleNotFoundError: No module named 'cdktf_cdktf_provider_docker'
cause Missing pip install or wrong Python environment.
fix
Run pip install cdktf-cdktf-provider-docker and ensure you are in the correct virtual environment.
error ImportError: cannot import name 'DockerProvider' from 'cdktf_cdktf_provider_docker'
cause Using wrong import path; DockerProvider is in a submodule.
fix
Use from cdktf_cdktf_provider_docker.provider import DockerProvider
error cdktf: error: cannot find module for provider docker
cause Provider not initialized via cdktf provider add.
fix
Run cdktf provider add docker in your project directory.
gotcha The provider version must match the Terraform provider version (e.g., provider ~> 3.0 maps to cdktf-cdktf-provider-docker 12.x). Check compatibility matrix.
fix Run `cdktf provider add docker` to handle version resolution automatically.
breaking Breaking changes between CDKTF 0.x and 0.20+: resource constructors changed from positional arguments to keyword arguments, and import paths changed.
fix Update to provider version 12.x and use keyword arguments. Refer to CDKTF migration guide.
deprecated Using old import paths like `from cdktf_cdktf_provider_docker import DockerProvider` is deprecated and will break in future.
fix Use full submodule imports: `from cdktf_cdktf_provider_docker.provider import DockerProvider`

Basic example: creates an Nginx image and container. Run with cdktf deploy.

from cdktf import App, TerraformStack
from cdktf_cdktf_provider_docker.provider import DockerProvider
from cdktf_cdktf_provider_docker.container import Container
from cdktf_cdktf_provider_docker.image import Image

app = App()
stack = TerraformStack(app, "docker-example")
DockerProvider(stack, "docker")

image = Image(stack, "nginx-image",
    name="nginx:latest",
    keep_locally=False
)

container = Container(stack, "nginx-container",
    image=image.latest,
    name="example-nginx",
    ports=[{
        "internal": 80,
        "external": 8080
    }]
)

app.synth()