Microsoft ships WSL 2.9.12 pre-release chasing Docker parity for its wslc container tool
Microsoft has posted a new pre-release of the Windows Subsystem for Linux. The headline move is simple: make the native wslc container tool behave like the Docker CLI you already use.
OneBlue, aka Feng Wang, one of the lead WSL maintainers, put this together. The commit sits on master ahead of 2.9.11, and there are already 13 more commits waiting past this pre-release. Between 2.9.11 and 2.9.12 the delta is 29 commits across 137 files, which is a lot for what amounts to a week. The repo itself is carrying 33.7k stars and 921 open issues, so people are watching closely.
wslc goes for Docker parity
wslc is Microsoft's way of running OCI containers inside WSL without a Docker daemon. This version is loaded with flags aimed squarely at Docker compatibility, and most of the work comes from ggarzia-MSFT.
There's wslc inspect --size to show image size, plus a matching --size on wslc ls. Then wslc images --all for the intermediate layers, wslc push --all-tags to push every tag, and wslc logs --details for verbose logging. The prune command finally matches Docker semantics, with a confirmation prompt and a -f flag that aliases --force. A quiet --quiet option rounds out image load, push, and container cp.
The "for docker parity" framing is consistent enough to read as a real strategy. Microsoft wants wslc to be a drop-in mental model so people can move workloads onto WSL without retraining their muscle memory.
Not a bad angle. The one addition that stands out beyond flag-matching is beena352 giving wslc a container restart verb, so you can restart a stopped container in place instead of only starting, stopping, or deleting it.
The fixes that bite
The CLI polish grabs the headlines, but the fixes in here touch the parts of WSL containers people actually complain about. The biggest is arguably the virtiofs ownership fix. On the container path, virtiofs shares were missing the metadata option, meaning per-file uid and gid couldn't persist in NTFS extended attributes. The practical upshot is that every file showed up as root-owned, no matter who created it. The fix adds metadata along with uid and gid, matching the regular distro mount path, and ships a regression test to prove it.
Then there's a networking snag that would have driven some people up a wall. A first-time contributor, DesertRatUa, fixed a bad dhcpcd option name in bridged-mode config. The old line referenced broadcast, which dhcpcd v10 flatly rejects, so DNS servers, the domain, and the search list never got requested. On DHCP servers that honor the PRL, /mnt/wsl/resolv.conf ended up with no nameservers at all.
Host-to-container filesystems get a touch of love too. Ben Hillis is routing Plan9 shares through a dedicated per-user server so host permissions survive the trip, and this release also tears down the stale Plan9 server before recreating one.
SUSE Linux Enterprise 15 SP7 gets an image bump in here as well. If you aren't running SUSE, skip it. If you are, you'll get the usual curated-distribution maintenance that shows up every cycle.
What you can download
Four installers are published, plus a NuGet container package. The x64 MSI (wsl.2.9.12.0.x64.msi) is about 349 MB and already has 1,388 downloads as of this writing. The ARM64 MSI is roughly 324 MB with just 44 downloads, the combined x64/ARM64 MSIX bundle is a hefty 675 MB, and the containers NuGet package is a lean 4.2 MB.
Existing users shouldn't need to do anything fancy. Run wsl --update or hit the "Check for updates" button in WSL Settings, and 2.9.12 should show up, since pre-releases ride the normal updater channel. Fresh installs can grab a .msi or the .msixbundle, while the Microsoft.WSL.Containers.*.nupkg targets container-tooling scenarios.
Keep in mind that this is a pre-release, so it may contain half-finished features. It's aimed at developers who want to poke at upcoming container changes before the stable channel gets them.
It's a reasonable package for what it is. The Docker-parity work is genuinely useful for anyone already fluent in the Docker CLI, and the fixes address things that quietly make containers on Windows annoying. However, at the same time, don't expect this pre-release to be your production tool.
If you want to dig in, the full changelog and diff are on the WSL GitHub repo, and each PR is linked inline. Head here to the 2.9.12 release page and here to the diff between 2.9.11 and 2.9.12.
