Skip to content

Docker on Windows fails to install with failed to load vmcompute.dll #887

@kichik

Description

@kichik

Starting with Docker v29.2.0 running dockerd --register-service tries to confirm virtualization is enabled. Our installation script does enable virtualization, but doesn't reboot between that and dockerd --register-service. This feels like a bug with Docker since dockerd doesn't really need to load vmcompute.dll to register itself.

CloudWatch log for the image builder has this error:

  | 2026-02-03T16:22:44.303Z | Stdout: DEBUG: 16+ >>>> dockerd --register-service
  | 2026-02-03T16:22:44.435Z | Stdout: DEBUG: 17+ if ( >>>> $LASTEXITCODE -ne 0) { throw "Exit code is $LASTEXITCODE" }
  | 2026-02-03T16:22:44.437Z | Stdout: DEBUG: 17+ if ($LASTEXITCODE -ne 0) { >>>> throw "Exit code is $LASTEXITCODE" }
  | 2026-02-03T16:22:44.639Z | CmdExecution: Command execution has been completed
  | 2026-02-03T16:22:44.639Z | CmdExecution: [ ERROR ] Command execution has resulted in an error
  | 2026-02-03T16:22:44.639Z | CmdExecution: Stderr: system requirements not met: failed to load vmcompute.dll, ensure that the Containers feature is installed Exit code is 1 At C:\Windows\SystemTemp\AWSTOE2730943766\script-152372072.ps1:17 char:28 + if ($LASTEXITCODE -ne 0) { throw "Exit code is $LASTEXITCODE" } + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (Exit code is 1:String) [], RuntimeException + FullyQualifiedErrorId : Exit code is 1
  | 2026-02-03T16:22:44.639Z | CmdExecution: ExitCode 1

This breaks building of runner images for Windows. The quickest workaround right now is to remove docker from your images with something like:

const ec2WindowsImageBuilder = Ec2RunnerProvider.imageBuilder(stack, 'Windows EC2 Builder', {
  os: Os.WINDOWS,
});

// remove docker installation step
ec2WindowsImageBuilder.removeComponent(RunnerImageComponent.docker());

new GitHubRunners(stack, 'runners', {
  providers: [
    new Ec2RunnerProvider(stack, 'EC2 Windows', {
      labels: ['ec2', 'windows', 'x64'],
      imageBuilder: ec2WindowsImageBuilder,
      vpc,
    }),
  ],
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions