Skip to content

go-wasmcontainers documentation

A container engine whose containers are WASI modules, compatible with the Docker Engine API, in pure Go (CGO=0), with an in-browser playground planned for cloud and container training labs.

go-wasmcontainers runs WASI modules as containers. A container here is a wasip1/wasm module: the image is an OCI image whose platform is os=wasip1, arch=wasm, the wctr command line talks to the wctrd daemon over /var/run/wctr.sock, and the module runs in wazero, a pure-Go WebAssembly runtime, instead of in a Linux kernel. wctrd is compatible with the Docker Engine API.

Work in progress; nothing is released. The engine’s first milestone, M1 (native, wazero executor: wctr pull, run, ps, logs, rm, rmi, inspect, images), is being written. Everything else is planned and is marked so on every page. These pages describe the main branch.

Why

Teaching containers usually means a Linux machine per learner. A WASI module needs no kernel, so the same engine can run natively today (M1) and, in the plan, in a browser worker — which would make a training lab a web page. The learner types container commands the way they will at work.

Pages

Repositories

RepoStatus
enginein progress (M1)
playgroundplanned; not started
docsthis site
go-wasmcontainers.github.iothe landing page
brandlogo, icons and social images

Created on by tannevaled

Modified on by tannevaled