I followed this example but it doesn't want to synth; does this need linux, specifically, to work? And does it also need docker?
c:\work\ba\>cdk synth
Error: spawnSync docker ENOENT
at Object.spawnSync (node:internal/child_process:1119:20)
at Object.spawnSync (node:child_process:847:24)
at dockerExec (c:\work\ba\\node_modules\aws-cdk-lib\core\lib\bundling.js:1:4869)
at Function.fromBuild (c:\work\ba\\node_modules\aws-cdk-lib\core\lib\bundling.js:1:3494)
at new Bundling (c:\work\ba\\node_modules\aws-cdk-lib\aws-lambda-nodejs\lib\bundling.js:1:1897)
at Function.bundle (c:\work\ba\\node_modules\aws-cdk-lib\aws-lambda-nodejs\lib\bundling.js:1:2733)
at new NodejsFunction (c:\work\ba\\node_modules\aws-cdk-lib\aws-lambda-nodejs\lib\function.js:1:1229)
at new BraunAwsStack (c:\work\ba\\lib\braun-aws-stack.ts:19:23)
at Object.<anonymous> (c:\work\ba\\bin\braun-aws.ts:7:1)
at Module._compile (node:internal/modules/cjs/loader:1155:14) {
errno: -4058,
code: 'ENOENT',
syscall: 'spawnSync docker',
path: 'docker',
spawnargs: [
'build',
'-t',
'cdk-d427175df07767a5bcd3efd0820a9071eb9f0dc1eda703d5a6927e5f9f8663f4',
'--platform',
'linux/amd64',
'--build-arg',
'IMAGE=public.ecr.aws/sam/build-nodejs16.x',
'--build-arg',
'ESBUILD_VERSION=0',
'c:\\work\\ba\\\\node_modules\\aws-cdk-lib\\aws-lambda-nodejs\\lib'
]
}