
Security News
GitHub to Block pull_request_target Workflows by Default Starting December 2
GitHub is tightening GitHub Actions security with new restrictions on privileged pull request workflows. Here's what changes and how maintainers are affected.
docker2wslc
Advanced tools
Translate Docker commands and Compose files to wslc, the native WSL container runtime on Windows 11
Translate Docker commands, Compose files and dev container configs to wslc — the native Linux container runtime built into the Windows Subsystem for Linux, which runs containers on Windows 11 without Docker Desktop.
No network calls, no daemon, no telemetry. Pure rule-driven translation.
npm install -g docker2wslc
# or run without installing:
npx docker2wslc convert docker ps -a
$ docker2wslc convert docker run --gpus all --restart always -p 8080:80 nginx
wslc run --gpus all -p 8080:80 nginx
Migration notes
WARN Restart policies are not implemented in the wslc preview. Flag dropped — use a
Windows scheduled task or a wrapper script for auto-restart.
INFO `--gpus` is native in wslc 2.9.4, but the host must actually have the GPU: on a
machine without one, `--gpus all` fails at container init with an ldconfig error.
Commands come from arguments, a file, or stdin:
docker2wslc convert docker ps -a
docker2wslc convert --file deploy.sh
cat deploy.sh | docker2wslc convert
wslc has no Compose runtime. This turns each service into an equivalent wslc run
and tells you exactly what cannot be carried over:
$ docker2wslc compose docker-compose.yml
# wslc has no Compose runtime. Equivalent commands:
wslc volume create pgdata
wslc network create backend
# start order matters: web -> db
# service: web
wslc run -d --name web -e NGINX_HOST=localhost -p 8080:80 --network backend nginx:alpine
! networks: Bridge-only. Create with wslc network create before running.
x depends_on: No dependency ordering. Start services in order yourself and add readiness waits.
x restart: No restart policies in the wslc preview.
# service: db
wslc run -d --name db -v pgdata:/var/lib/postgresql/data --network backend --health-cmd 'pg_isready -U postgres' --health-interval 10s --health-retries 5 postgres:16-alpine
! volumes: Named volumes must be created first with wslc volume create. Windows paths go over VirtioFS.
! networks: Bridge-only. Create with wslc network create before running.
Scans for docker-compose.y*ml, compose.y*ml and devcontainer.json:
docker2wslc lint .
Exit codes are meaningful, so this works as a gate:
| Code | Meaning |
|---|---|
0 | Fully compatible |
1 | Degraded — flags dropped or rewritten, still runnable |
2 | Unmigratable — Compose, Swarm, buildx, or a parse failure |
- run: npx docker2wslc lint . # fails the job on exit 2
import { translate } from 'docker2wslc';
import { analyse } from 'docker2wslc/compose';
const result = translate('docker run --platform linux/amd64 -it ubuntu bash');
console.log(result.output); // wslc run -it ubuntu bash
console.log(result.exitCode); // 1
result.notes.forEach((n) => console.log(n.severity, n.text));
const report = analyse(fs.readFileSync('docker-compose.yml', 'utf-8'));
--json on any subcommand gives the same structure for shell pipelines.
There is an identical Python package sharing the same
rule table, and a wslc-mcp MCP server for AI agents.
Worth knowing before you migrate. These are runtime limitations, not gaps in this tool:
--platform — host architecture onlydepends_on gating — health flags work (--health-cmd et al), but nothing waits on health state for youwslc build only--gpus all, the same flag as Docker. It is --device that wslc lacks.CLI-driven tooling ports to wslc. API-driven tooling does not. That single distinction
explains most migration surprises — including why
VS Code Dev Containers does work
once you set dev.containers.dockerPath to wslc.
Rules target the 2026-07 wslc public preview and live in a single
rules.json shared by the
Python package, the npm CLI, the MCP server and the VS Code extension. wslc is a moving
target; if you hit a mapping that is wrong,
open an issue with the command and the
actual wslc output.
MIT licensed.
FAQs
Translate Docker commands and Compose files to wslc, the native WSL container runtime on Windows 11
The npm package docker2wslc receives a total of 2 weekly downloads. As such, docker2wslc popularity was classified as not popular.
We found that docker2wslc demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
GitHub is tightening GitHub Actions security with new restrictions on privileged pull request workflows. Here's what changes and how maintainers are affected.

Security News
/Application Security
A practical guide to securing GitHub Actions against supply chain attacks, covering malicious pull requests, credential theft, dependency risks, and release pipelines.

Security News
Composer 2.11 adds dependency cooldowns, joining package managers that delay new releases to reduce supply chain risks while allowing urgent security updates.