go-wasmcontainers documentation
You are reading the documentation of an outdated version, whose text may no longer be accurate. Go to the latest version.
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
- Getting started: install, and a real session
- Commands:
wctr,wctrd, exit codes and limits - Architecture: the engine, its API, the executors, the images
- Performance: what was measured
- Limitations: what v0.1.0 does not do
- Design: design documents for planned parts, such as the classroom network
- Roadmap: what is planned
- FAQ: why
wctr, and notdockerorctr - References: the specifications the code is written against
Repositories
| Repo | Status |
|---|---|
| engine | v0.1.0 released (M1) |
| playground | planned; not started |
| docs | this site |
| go-wasmcontainers.github.io | the landing page |
| brand | logo, icons and social images |
Created on by tannevaled
Modified on by tannevaled