Docker+Wasm 技术预览简介
什么是 Wasm?
WebAssembly,通常简称为 Wasm,是一种相对较新的技术,允许您编译用 40 多种语言(包括 Rust、C、C++、JavaScript 和 Golang)编写的应用程序代码,并在沙盒环境中运行它。
最初的用例侧重于在网络浏览器中运行本机代码,例Do如Figma、AutoCAD和Photoshop。事实上,fastq.bio在将其基于 Web 的 DNA 序列质量分析器转换为 Wasm 时,速度提高了20 倍。迪士尼在 Wasm 之上构建了他们的Disney+ 应用程序开发工具包!浏览器中的好处显而易见。
但由于WebAssckembly 系统接口(WASI),Wasm 正在迅速传播到浏览器之外。Vercel、Fastly、Shopify和Cloudflare等公司支持使用 Wasm 在边缘运行代码,而Fermyon正在构建一个平台以在云端运行 Wasm 微服务。
为什么是Docker?
在 Dockerer,我们的目标是通过克服应用程序开发的复杂性来帮助开发人员将他们的想法变为现实。我们努力让构建、共享和运行您的应用程序变得容易,无论底层技术如何。通过让所有人都能使用容器,我们证明了我们有能力让开发人员的生活更轻松,并被公认为最受欢迎的开发人员工具第一名。
我+W们将 Wasm 视为 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.wasm技术edge.v1 --platform=wasi/wasm32 michaelirwin244/wasm-example
由于一些标志可能不熟悉,让我们解释一下它们在做什么:
--runtime=io.containerd.wasmedge.v1– 这会通知 Docker 引预览擎我们要使用 Wasm containerd shim 而不是标准的 Linux 容器运行时
--platform=wasi/wasm32– 这指定了我们要使用的图像的架构。通过利用 Wasm 架构,我们不需要为不同的架构构建单独的图像。Wasm 运行时将完成将 Wasm 二进制文件转简介换为机器指令的最后一步。
镜像拉取后,runtime 会读取ENTRYPOINT镜像的 来定位并提取 Wasm 模块。然后将该模块加载到 Wasm 运行时、启动并配置网络。现在我们的机器上运行了一个 Wasm 应用程序!
这个特定的应用程序是一个简单的 Web 服务器,上面写着“Hello wDoorld!” 并将数据回显给我们。为了验证它是否正常工作,让我们首先查看日志。
docker logs wasm-example
Server is now running
我们可以通过打开http://localhost:8080或使用 curl 来获取“Hello world”ck消息。
curl localhost:8080
我们的响应会给我们一条 Hello world 消息:
Hello world from Rust running with Wasm! Send POST data to /echo to have it echoed back to you
要将数据发送到 echo 端点er,我们可以使用 curl:
curl localhost:8080/echo -d '{"message":"Hi there"}' -H "Content-type: application/json"
我们将看到发回以在响应中使用的数据:
{"message":"+WHi there"}
要删除应用程序,您可以像删除任何其他 Docker 服务一样删除它:
docker rm -f wasm-example
新的集成意味着您可以与 Linux 容器一起运行 Wasm 应用程序(甚至使用 Compose)。
相关文章
云梦级12月16日云梦级消息,据创业邦报道,9月,深圳麦科田生物医疗技术股份有限公司(下称 “麦科田”)正式向港交所递交招股书,申请在主板上市。2011年成立的麦科田,产品覆盖全球140多个国家及地区2026-11-12
苹果被指已开始在工厂测试折叠屏iPhone 有消息称,苹果在深圳的富士康工厂内,已经开始测试折叠iPhone,最快可能要等到2022年亮相。一种属于双屏幕机型,不算是折叠屏幕;另外一种是类似三星Gal2026-11-12
云梦级3月18日云梦级消息,日前,百度任命原大模型算法部何径舟自基础模型研发部(BMU)轮岗至移动生态事业群组(MEG),担任百度APP研发中心组织负责人,向罗戎汇报。原负责人赵世奇因个人原因离职。2026-11-12
重磅!挑战谷歌的AI新星Perplexity估值飙升,两月内再获2亿美元巨额融资
在人工智能领域,一家名为Perplexity的初创公司正以惊人的速度崛起,向老牌巨头谷歌发起挑战。据知名科技媒体《The Information》报道,这家提供对话式AI搜索服务的公司,最近成功完成了2026-11-12
近日,网传IBM中国研究院(IBM CRL)已经全面关闭。对于这一传闻,IBM方面回应称,正在变革其在中国的研发变局。 IBM宣称,其在中国的专家将专注于与中国客户和合作伙伴协作创新,提供实用的共创解2026-11-12
云梦级5月24日云梦级消息,据新黄河报道,5月22日,中证中小投资者服务中心(下称“投服中心”)披露了一则关于《韩某等人内幕交易“长安汽车”案》信息。 投服中心称,2023年11月26日,长安汽车公告2026-11-12

最新评论