Project Lightning Talk: Container2Wasm: Running Containers On Wasm Environments - Kohei Tokunaga
About this talk
This talk focuses on the recent advancements of the container to Wasm project, a sandbox initiative under the CNCF. The project enables the execution of Linux-based containers in WebAssembly environments, including Wasm runtimes and browsers, utilizing Wasm compiled CPU emulators. The speaker introduces a new QEMU-based JIT compilation backend which significantly enhances emulation performance, achieving tasks up to three times faster than previous interpreter-based backends. Additionally, the talk explores innovative use cases, such as integrating LLM agents within a browser environment via an experimental VS Code extension. This setup allows the LLM to access the workspace for file creation, code execution, and testing while entirely operating within the browser without host command execution.
Full transcript
Good morning everyone. I'm Kohei Tokunaga from NTT Inc. I'm a founding maintainer of container to Wasm. Today, I'm going to share some recent updates of this project. So, what is container to Wasm? This is a CNCF sandbox project since January 2025. This is a tool to run Linux based containers in Wasm environment such as Wasm runtimes and browsers using Wasm compiled CPU emulators. The left figure shows
the C2W command, which is a converter from a container to a Wasm blob. You can run the con- converter's output on Wasm runtimes such as Wasm time for running the container. You can also run containers inside browsers as shown in the right figure. One of the recent updates is speeding up of the emulation performance. We've added a QEMU based JIT compilation backend for Wasm. The figure shows
how does the JIT compilation backend speed up gzip compression in the container inside QEMU based JIT backend complete the tasks task about three times faster comparing to the interpreter based backend. Also, in the QEMU community, there are discussions for Wasm support. Uh QEMU version 10.1 added support for compilation into Wasm with its interpreter backend and the discussion for the JIT support is also ongoing. Uh we are
recently exploring the use case of this project to LLM agent uh especially running fully inside browser, which is VS Code LLM let. This is an experimental extension for VS Code for the web, which is on browser VS Code. This runs LLMs on Wasm or WebGPU completely inside browser using llama.cpp. And the LLM is uh provided accesses to the workspace. So, the model can write files and code.
Uh this extension also runs Linux based containers inside browser. The model can run shell commands in the container for testing the code completely inside browser. This also supports WebRTC based distributed inference across browsers. And in this demo, I've run VS Code for the web with VS Code LLM LLM let installed. I've used Qwen 3.5 4B in this demo. In the LLM let chat panel on the right,
I've asked the model to create and test a mini uname command which just gets the kernel name from the uname syscall and just prints it. The model is now creating a file which containing the implementation. The model has access to VS Code's file system APIs, so it can automatically create files by its own without my manual operation. And you can see the Linux terminal panel in the
bottom. The model has access to this terminal, so it can test the code again. The model tests this program by compiling it using GCC, then by running it. For testing, the model compares the program's output with the real uname command installed in the Linux system. The entire testing is executed in the container running fully inside browser using a CPU emulator. So, no command is executed on the
host. All right. Uh so, finally, we have kiosk on Tuesday and Thursday. If you are interested in more about container to Wasm's recent works including QEMU integration and LLM agent inside browser, feel free to visit our booth. Thank you very much.
More from this event
See all 436 talks →
Best of KubeCon + CloudNativeCon Amsterdam 2026
2:17
The Quiet Work of Forever: Sustaining Open Source Communities - O. Hope Amaechi-Okorie, JSON Schema
26:24
Evolving KServe: The Unified Model Inference Platform for Both Predictive and... F. Spolti & J. Lee
32:40
Preventing S3 Cost Storms: Applying Cortex’s Efficiency Lessons to I/O-Heav... A. Fishman-Lichterman
5:32