terraform/learn-cdktf-docker/main.ts (33 lines of code) (raw):

import { Construct } from 'constructs' import {App, RemoteBackend, TerraformStack} from 'cdktf' import { Container, Image, DockerProvider } from './.gen/providers/docker' class MyStack extends TerraformStack { constructor(scope: Construct, name: string) { super(scope, name) new DockerProvider(this, 'default', {}) const dockerImage = new Image(this, 'nginxImage', { name: 'nginx:latest', keepLocally: false, }) new Container(this, 'nginxContainer', { image: dockerImage.latest, name: 'tutorial', ports: [ { internal: 80, external: 8000, }, ], }) } } const app = new App() const stack = new MyStack(app, 'typescript-docker') new RemoteBackend(stack, { hostname: "app.terraform.io", organization: "korosuke613", workspaces: { name: "learn-cdktf-docker", }, }); app.synth()