Experimental Windows Containers Support for BuildKit Released in v0.13.0
December 8, 2025 · 692 words · 4 min
We are excited to announce that the latest BuildKit release, , contains experimental Windows Contain
We are excited to announce that the latest BuildKit release, , contains experimental Windows Containers support. BuildKit has been around for many years and has been the default build engine on Linux since Docker Engine 23.0.0. is a toolkit for converting source code to build artifacts (like container images) in an efficient, expressive, and repeatable manner. BuildKit introduced the following benefits as compared with the previous Docker Builder: Since 2018, Windows Container customers have been asking for Windows support for BuildKit, as seen in the and , with hundreds of reactions and comments. We have listened to our users and focused resources in the past year to light up Windows Containers support on BuildKit. Until now, we only shipped the Buildx client on Windows for building Linux images and some limited Windows images using cross-compilation. Today, we are introducing experimental support for Windows Containers in BuildKit, with the aim of making this available soon in your standard Docker Build. In the upcoming months, we will work toward further improvements, including: Let’s walk through the process of setting up BuildKit, including the necessary dependencies, and show how to build a basic Windows image. For feedback and issues, file a ticket at tagged with . The platform requirements are listed below. In our scenario, we will be running a base image with AMD64. The workflow will cover the following steps: Start a PowerShell terminal in admin privilege mode. Run the following command to ensure the Containers feature is enabled: If you see as on your setup, restart your machine and reopen an Administrator PowerShell terminal (Figure 1). Otherwise, continue to the next step. Next, we need to install , which is used as the container runtime for managing containers and images. We currently only support the containerd worker. In the future, we plan to add support for the OCI worker, which uses runc and will therefore remove this dependency Run the following script to install the latest . If you have containerd already installed, skip the script below and run to start the containerd service. containerd v1.7.7+ is required. Ensure you have updated to the latest version of . Run the following script to download and extract the latest . Next, run the following commands to add the BuildKit binaries to your directory, then add them to the so they can be called directly. Run . You should expect to see something as shown in Figure 2: Now we can set up buildx (the BuildKit client) to use our BuildKit instance. Here we will create a Builder item that points to our Buildkit instance we just started, by running: Here we are creating a new instance of a builder and pointing it to our BuildKit instance. BuildKit will listen on . Notice that we also name the builder, here, we call it , but you can name it whatever you want. Just remember to add to set this as the current builder. Let’s test our connection by running (Figure 3): All good! You can also list and . Run (Figure 4). We will be building a as shown in the following the Dockerfile. Run the following commands to create a directory and change directory to . Run the following script to add the Dockerfile shown above and to the directory. Now we can use to build our image and push it to the registry (see Figure 5): If you are utilizing Docker Hub as your registry, run before running (Figure 6). Congratulations! You can now run containers with standard : We encourage you to test out the released experimental Windows BuildKit support . To start out, feel free to follow the or blog, which will walk you through building a simple Windows image with BuildKit. File feedback and issues at tagged with . A big thanks to @ , @ , @ , @ , , , @ , and many other key community members who have contributed to enabling Windows Containers support on BuildKit. We also thank Windows Container developers who continue to provide valuable feedback and insights.