docker build on wslc
docker build is partial on wslc 2.9.4.0. The command exists as wslc build, but its flags, defaults or output format do not match Docker byte-for-byte, so the shape of your invocation decides whether it needs an edit.
| Docker command | docker build |
|---|---|
| Status on wslc 2.9.4.0 | Partial |
| wslc command | wslc build |
| Verified against | wslc 2.9.4.0, windows-2025 runner |
Measured detail. Has -t, -f, --build-arg, --target, --no-cache, --pull, -l, --verbose. No --platform, no --secret, no --ssh, no --cache-from. Also available as wslc image build.
The wslc equivalent
# Docker
docker build
# wslc
wslc build wslc build [<options>] <path>
Straight from wslc build --help on wslc 2.9.4.0 .
| Argument | Meaning |
|---|---|
path | Path to the build context directory |
| Flag | Meaning |
|---|---|
--build-arg | Set build-time variables (KEY=VALUE) |
--pull | Always attempt to pull a newer version of the image |
--target | Set the target build stage to build |
-f,--file | Path to the Dockerfile (use "-" to read from stdin) |
-l,--label | Set metadata on an object |
--no-cache | Do not use cache when building the image |
-t,--tag | Tag for the built image |
--verbose | Output verbose details |
How we know
Confirmed by reading wslc --help output and, where the behaviour depends on execution rather than argument parsing, by running the command against wslc 2.9.4.0 on a Windows Server 2025 GitHub Actions runner. Unrecognized flags and subcommands fail loudly on wslc -- the parser answers Argument name was not recognized for the current command and exits non-zero -- so a typo is unlikely to be misread as support. The risk runs the other way: a Docker habit that happens to parse (like wslc ps still working) can mask a difference in what the flags underneath it do.
Claims on this site are re-checked by a scheduled workflow that runs the commands again on
a fresh Windows Server 2025 runner and fails when a documented behaviour stops matching
reality. wslc ships roughly every two weeks during the preview, so treat any page that
disagrees with your own machine as the page being stale, and check the version you are on
with wslc version.
Where this fits
This is one row of the full Docker to wslc cheat sheet,
which covers every command and every flag on a single page. If the workload you are
porting uses Docker Compose rather than bare docker invocations, start from
Compose key support instead -- docker build rarely appears verbatim in a compose.yaml, and the key-level page maps YAML fields
directly to the flags shown above. For a whole script at once, paste it into the
command converter and get every line classified in the same pass.