Skip to main content
This guide sets up a standalone BuildKit daemon for Windows containers and connects docker buildx to it with the remote driver. It is based on a working setup validated on April 1, 2026 with real Windows container builds.

Known-good versions

  • containerd v1.7.30
  • buildkit v0.29.0
  • buildx v0.33.0
Do not use containerd v2.2.2 for this setup. In our Windows validation, buildkitd failed to start against it with:

Prerequisites

  • Windows with Docker Desktop installed
  • Docker Desktop switched to Windows containers
  • An elevated PowerShell session
  • Windows container prerequisites enabled (Hyper-V, Windows Containers, and the default nat network)

Install standalone BuildKit

Run this in an elevated PowerShell window:

Allow non-admin clients to use the BuildKit pipe

If buildctl works in the elevated shell but fails in a normal shell with Access is denied, re-register buildkitd like this:

Verify the builder

Run these in a normal PowerShell session:
Expected checks:
  • docker buildx version shows v0.33.0
  • docker buildx inspect buildkit-windows --bootstrap shows Driver: remote
  • the node reports BuildKit version: v0.29.0
  • buildctl debug info succeeds through \\.\pipe\buildkitd

Smoke test with a real Windows build

If the setup is healthy, the container prints:

Troubleshooting

buildkitd fails to start with unknown service containerd.services.leases.v1.Leases
  • You are likely using an incompatible containerd version such as 2.2.2.
  • Reinstall containerd v1.7.30.
buildx inspect buildkit-windows --bootstrap times out
  • Check that the buildkitd service is running.
  • Check that buildctl debug info works from the same shell.
  • If only the elevated shell works, re-register buildkitd with --group "Users".
buildctl says Access is denied
  • The named pipe permissions are too restrictive.
  • Re-register buildkitd with --group "Users" as shown above.
Windows build starts but fails during execution
  • Make sure Docker Desktop is actually in Windows containers mode.
  • Confirm the builder reports Platforms: windows/amd64.
  • Re-run the smoke test before debugging your own Dockerfile.