Docker + Wasm = 王炸!!
Posted Java技术栈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker + Wasm = 王炸!!相关的知识,希望对你有一定的参考价值。
点击关注公众号,Java干货及时送达
出品 | 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 应用程序的体积也明显更小,且运行速度更快。另外,如果你近期准备面试跳槽,建议在Java面试库小程序在线刷题,涵盖 2000+ 道 Java 面试题,几乎覆盖了所有主流技术面试题。
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
参数解释:
--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/
End
Stream 中的 map、peek、foreach 方法的区别?
Spring Cloud 微服务最新课程!
以上是关于Docker + Wasm = 王炸!!的主要内容,如果未能解决你的问题,请参考以下文章
Docker 学习总结(78)—— WebAssembly 入门简介
Docker 学习总结(78)—— WebAssembly 入门简介