Docker Compose for WSL containers.

ricardoborges.github.io · 2026-10-02 · by Long Nguyen ·generic
Docker Compose for Windows' WSL containers (wslc.exe). One small native binary, written in Rust.

Docker Compose for WSL containers.

Docker Compose for WSL containers.

Windows 11 can now run Linux containers natively with `wslc.exe`, no Docker Desktop required. It just doesn't come with Compose. rcompose fills that gap: point it at your existing `compose.yaml` and run `rcompose up`.

`PS>irm https://ricardoborges.github.io/rcompose/install.ps1 | iex`Copy

Installs to `%LOCALAPPDATA%\Programs\rcompose` and adds it to your PATH. No admin rights. Works on x64 and ARM64.

Same commands you already know

If you've used `docker compose`, there's nothing new to learn. From any folder with a compose file:

start everything in the background

rcompose up -d

see what's running, then follow the logs

rcompose ps rcompose logs -f

open a shell in a service

rcompose exec web sh

stop and clean up

rcompose down -v

Also there: `build`, `pull`, `start`, `stop`, `restart` and `config`, along with `-f`, `-p`, `--env-file` and `--profile`.

What it does for you

  • Starts things in the right order, fast. Services that don't depend on each other come up in parallel, and `depends_on` conditions like `service_healthy` are respected.
  • Only touches what changed. Running `rcompose up` again recreates just the containers whose configuration is different, the same way Docker Compose does.
  • Copes with the preview's rough edges. The WSL container preview sometimes throws transient errors when several containers start at once. rcompose retries them instead of failing halfway.
  • Tells you what won't work. When your file uses something `wslc` can't do yet, like `restart` policies or Linux-path bind mounts, you get a warning rather than a silent surprise.

Before you install

You need Windows 11 with the WSL container preview installed, so that `wslc.exe` is available. rcompose finds it through `WSLC_BIN`, then your PATH, then `C:\Program Files\WSL\wslc.exe`.

To update, run the install command again. To pin a version, set `$env:RCOMPOSE_VERSION = "v0.1.0"` first. Prefer building from source? `cargo install --path crates/rcompose-cli` from a clone of the repository works too.

Comments (0)

No comments yet