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 serves a subset of the Docker Engine API.

Engine v0.1.0 (milestone M1) is released. It runs natively on Linux and macOS: wctr pull, images, run, ps, logs, rm, rmi, inspect, kill and version. No networking, exec, attach or build yet: see Limitations. The browser playground and everything on the roadmap are planned. These pages describe v0.1.0.

Why

Teaching containers usually means a Linux machine per learner. A WASI module needs no kernel, so the same engine runs natively today 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
enginev0.1.0 released (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