|
什么是 Wasm? 最初的用例侧重于在网络浏览器中运行本机代码,例Do如Figma、AutoCAD和Photoshop。事实上,fastq.bio在将其基于 Web 的 DNA 序列质量分析器转换为 Wasm 时,速度提高了20 倍。迪士尼在 Wasm 之上构建了他们的Disney+ 应用程序开发工具包!浏览器中的好处显而易见。 但由于WebAssemblcky 系统接口(WASI),Wasm 正在迅速传播到浏览器之外。Vercel、Fastly、Shopify和Cloudflare等公司支持使用 Wasm 在边缘运行代码,而Fermyon正在构建一个平台以在云端运行 Wasm 微服务。 为什么是Docker? 我们将 Was+Wm 视为 Linux 容器的补充技术,开发人员可以根据用例选择他们使用的技术(或两者!)。随着社区探索 Wasm 的可能性,我们希望使用您了解和喜爱的经验和工具帮助使 Wasm 应用程序更容易开发、构建和运行。 Wasm 集成实际上是如何工作 1.我们正在利用我们最近的工作将图像管理as迁移到 containerd,因为它提供了使用与 OCI 兼容的工件和 containerd 垫片的能力。 2.我们与WasmEdge合作创建了一个 containerd shim。该 shim 从 OCI 工件中提取 Wasm 模块并使用 WasmEdge 运行时运行它。 3.我们添加了声明m Wasm 运行时的支持,这将允许使用这个新的 shim。 安装预览版后,我们可以运行以下命令来启动示例 Wasm 应用程序: docker run -dp 8080:8080 --name=wasm-example --runtime=io.containerd.wasmedge.技术v1 --platform=wasi/wasm32 michaelirwin244/wasm-example 由于一些标志可能不熟悉,让我们解释一下它们在做什么: --runtime=io.containerd.wasmedge.v1– 这会通知 Docker 引擎我们要使用 W预览asm containerd shim 而不是标准的 Linux 容器运行时 这个特定的应用程序是一个简单的 Web 服务器,上面写着“Hello world!Do” 并将数据回显给我们。为了验证它是否正常工作,让我们首先查看日志。 docker logs wasm-example Server is now running curl lockcalhost:8080 Hello world from Rust running with Wasm! Send POST data to /echo to have it echoed back to you curl localhost:8080/echo -d '{"message":"Hi there"}' -H "Content-type: application/json" {"message":"Hi there"} docker rm -f wasm-example |
