AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

Docker+Wasm 第 2 个技术预览版发布,新增 3 个运行时引擎支持

  • 2023-04-10
    北京
  • 本文字数:883 字

    阅读完需:约 3 分钟

Docker+Wasm第2个技术预览版发布,新增3个运行时引擎支持

Docker宣布了 Docker+Wasm 的第 2 个技术预览版,旨在简化 Wasm 工作负载的运行,并扩展运行时支持,包括Fermyon的spinDeislabs的slightBytecode Alliance的wasmtime运行时引擎。

 

Docker+Wasm 中新增支持的 3 个 Wasm 引擎使其支持的运行时总数达到了 4 个,其中包括在Docker+Wasm第1个技术预览版中已经支持的 WasmEdge。它们都基于runwasi库。该库最近加入了containerd 项目

 

runwasi是一个 Rust 库,它支持运行通过 containerd 管理的 wasm 工作负载。因此,除了 containerd 最初支持的 Linux 容器之外,它还为新的容器类型创建了一个有效的抽象。顾名思义,runwasi 是基于WASI的。WASI 是 WebAssembly 的模块化系统接口,为 Wasm 运行时提供了一个公共平台。也就是说,如果一个程序被编译为目标 WASI,那么它就可以在任何符合 WASI 标准的运行时上运行。

 

通常,Wasm 容器只包含一个编译好的 Wasm 字节码文件,而且不需要任何额外的二进制库,这使得容器小很多。这也意味着 Wasm 容器的启动速度通常比 Linux 容器更快,而且可移植性更好。例如,正如 WasmEdge 联合创始人Michael Yuan在Twitter上所说的那样,Linux 上“最小”的 Python 容器镜像超过 40MB,而对应的Wasm容器镜像不到7MB

 

作为 containerd 直接支持的 Wasm 容器,要在 Docker Desktop 的最新版本中尝试 Docker+Wasm 的第 2 个技术预览版,唯一需要做的事情是启用开发 > Settings > Features 下的“Use containerd”选项。

 

使用 wasmtime 运行 Wasm 容器,可以执行以下命令:

$ docker run --rm --runtime=io.containerd.wasmtime.v1 --platform=wasi/wasm secondstate/rust-example-hello:latest
复制代码

 

正因为如此,借助 Docker Compose 或其他编排平台(如 Kubernetes),Wasm 容器可以与 Linux 容器并行运行。此外,通过在 OCI 容器中嵌入 Wasm 运行时,Docker Desktop 还可以将 Wasm 应用程序打包到 OCI 容器中,从而可以通过 DockerHub 等容器注册中心来共享 Wasm 应用程序。

 

原文链接:

https://www.infoq.com/news/2023/03/docker-wasm-containers-preview-2/


相关阅读:

部署太慢,我们用 Warm Docker 容器将速度提高了 5 倍

Docker正在淘汰开源组织,CTO硬刚开发者,网友:想赚钱可以,但沟通方式烂透了

2023-04-10 08:0010058

评论

发布
暂无评论
发现更多内容
Docker+Wasm第2个技术预览版发布,新增3个运行时引擎支持_容器_Sergio De Simone_InfoQ精选文章