Docker发布集成WebAssembly的首个技术预览版
2022-11-3 18:12:37 Author: mp.weixin.qq.com(查看原文) 阅读量:13 收藏

出品 | OSC开源社区(ID: oschina2013)
Docker 宣布推出与 WebAssembly 集成  (Docker+Wasm)  的首个技术预览版,并表示公司已加入字节码联盟 (Bytecode Alliance),成为投票成员。
Bytecode Alliance(字节码联盟)由 Mozilla、Fastly、Intel 与 Red Hat 联合成立,是一个推动 WebAssembly 标准化的组织,该联盟旨在通过协作实施标准和提出新标准,以完善 WebAssembly 在浏览器之外的生态。目前正在积极推动 WASI (WebAssembly System Interface),使 WebAssembly 能够安全地访问文件、网络和内存等系统资源。
公告写道,Docker+Wasm 让开发者能够更容易地 快速构建面向 Wasm 运行时的应用程序 。下图介绍了 Docker 是如何与 WebAssembly 进行集成。
可以看到,Docker Engine 继续使用与整体生态相统一的 containerd 容器运行时,但创建了一个新的 containerd shim—— 把负责容器进程运行的 runC 替换成 WasmEdge runtime。据称这是和 WasmEdge 合作的项目,这个 containerd shim 从 OCI artifact 中提取 Wasm 模块,并使用 WasmEdge runtime 来运行。
Docker 没有透露更多细节,但 WasmEdge 承诺会提供优于 Linux 容器的启动时间,而且 WasmEdge 应用程序的体积也明显更小,且运行速度更快。
Docker 联合创始人 Michael Irwin 写道:“我们将 Wasm 视为 Linux 容器的补充性技术,开发者可以结合自身情况选择最适合的技术方案(或者二者并用)。随着社区对 Wasm 的探索,我们希望开发者可以使用熟悉和喜爱的经验和工具,帮助让 Wasm 应用程序更易于开发、构建和运行。”
使用
使用下面命令即可启动示例 Wasm 应用程序:
docker run -dp 8080:8080 --name=wasm-example --runtime=io.containerd.wasmedge.v1 --platform=wasi/wasm32 michaelirwin244/wasm-example
	br
参数解释:
  • --runtime=io.containerd.wasmedge.v1 – 告知 Docker Engine 要使用 Wasm containerd shim 而不是标准的 Linux 容器运行时

  • --platform=wasi/wasm32 – 指定要使用的镜像的架构。通过利用 Wasm 架构,开发者无需为不同的架构构建单独的镜像。Wasm runtime 将完成将 Wasm 二进制文件转换为机器指令的最后一步。

获取方式
下载  Docker Desktop 的技术预览版本 即可体验 Docker+Wasm:
  • macOS Apple Silicon: https://dockr.ly/3sf56vH

  • macOS Intel: https://dockr.ly/3VF6uFB

  • Windows AMD64: https://dockr.ly/3ShlsP0

  • Linux Arm64 (deb): https://dockr.ly/3TDcjRV

  • Linux AMD64 (deb): https://dockr.ly/3TgpWH8

    (rpm):https://dockr.ly/3eG6Mvp

    (tar): https://dockr.ly/3yUhdCk

要注意的是,由于 Docker+Wasm 尚处于早期的技术预览阶段,不建议在生产环境使用,因为有可能会出现变更,甚至从未来版本中删除。
详情查看: https://docs.docker.com/desktop/wasm/

往期推荐

我是 polarisxu,北大硕士毕业,曾在 360 等知名互联网公司工作,10多年技术研发与架构经验!2012 年接触 Go 语言并创建了 Go 语言中文网!著有《Go语言编程之旅》、开源图书《Go语言标准库》等。

坚持输出技术(包括 Go、Rust 等技术)、职场心得和创业感悟!欢迎关注「polarisxu」一起成长!也欢迎加我微信好友交流:gopherstudio


文章来源: https://mp.weixin.qq.com/s?__biz=MzAxNzY0NDE3NA==&mid=2247490414&idx=1&sn=60f8dd3647acfdaa8f553a9a221fcd90&chksm=9be3348fac94bd99cbf61d40c47570d67a12b4790a5cb8b6d78297d2ab761042fd5a4ff4de83#rd
如有侵权请联系:admin#unsafe.sh