当前位置:首页 > 科技  > 知识百科

Docker+Wasm 技术预览简介

来源: 责编: 时间:2023-08-07 16:30:39 305观看
导读 什么是 Wasm?
WebAssembly,通常简称为 Wasm,是一种相对较新的技术,允许您编译用 40 多种语言(包括 Rust、C、C++、JavaScript 和 Golang)编写的应用程序代码,并在沙盒环境中运行它

什么是 Wasm?
WebAssembly,通常简称为 Wasm,是一种相对较新的技术,允许您编译用 40 多种语言(包括 Rust、C、C++、JavaScript 和 Golang)编写的应用程序代码,并在沙盒环境中运行它。FhJ28资讯网——每日最新资讯28at.com

最初的用例侧重于在网络浏览器中运行本机代码,例如Figma、AutoCAD和Photoshop。事实上,fastq.bio在将其基于 Web 的 DNA 序列质量分析器转换为 Wasm 时,速度提高了20 倍。迪士尼在 Wasm 之上构建了他们的Disney+ 应用程序开发工具包!浏览器中的好处显而易见。FhJ28资讯网——每日最新资讯28at.com

但由于WebAssembly 系统接口(WASI),Wasm 正在迅速传播到浏览器之外。Vercel、Fastly、Shopify和Cloudflare等公司支持使用 Wasm 在边缘运行代码,而Fermyon正在构建一个平台以在云端运行 Wasm 微服务。FhJ28资讯网——每日最新资讯28at.com

为什么是Docker?
在 Docker,我们的目标是通过克服应用程序开发的复杂性来帮助开发人员将他们的想法变为现实。我们努力让构建、共享和运行您的应用程序变得容易,无论底层技术如何。通过让所有人都能使用容器,我们证明了我们有能力让开发人员的生活更轻松,并被公认为最受欢迎的开发人员工具第一名。FhJ28资讯网——每日最新资讯28at.com

我们将 Wasm 视为 Linux 容器的补充技术,开发人员可以根据用例选择他们使用的技术(或两者!)。随着社区探索 Wasm 的可能性,我们希望使用您了解和喜爱的经验和工具帮助使 Wasm 应用程序更容易开发、构建和运行。FhJ28资讯网——每日最新资讯28at.com

Wasm 集成实际上是如何工作FhJ28资讯网——每日最新资讯28at.com

1.我们正在利用我们最近的工作将图像管理迁移到 containerd,因为它提供了使用与 OCI 兼容的工件和 containerd 垫片的能力。FhJ28资讯网——每日最新资讯28at.com

2.我们与WasmEdge合作创建了一个 containerd shim。该 shim 从 OCI 工件中提取 Wasm 模块并使用 WasmEdge 运行时运行它。FhJ28资讯网——每日最新资讯28at.com

3.我们添加了声明 Wasm 运行时的支持,这将允许使用这个新的 shim。FhJ28资讯网——每日最新资讯28at.com

安装预览版后,我们可以运行以下命令来启动示例 Wasm 应用程序:FhJ28资讯网——每日最新资讯28at.com

docker run -dp 8080:8080 --name=wasm-example --runtime=io.containerd.wasmedge.v1 --platform=wasi/wasm32 michaelirwin244/wasm-exampleFhJ28资讯网——每日最新资讯28at.com

由于一些标志可能不熟悉,让我们解释一下它们在做什么:FhJ28资讯网——每日最新资讯28at.com

--runtime=io.containerd.wasmedge.v1– 这会通知 Docker 引擎我们要使用 Wasm containerd shim 而不是标准的 Linux 容器运行时
--platform=wasi/wasm32– 这指定了我们要使用的图像的架构。通过利用 Wasm 架构,我们不需要为不同的架构构建单独的图像。Wasm 运行时将完成将 Wasm 二进制文件转换为机器指令的最后一步。
镜像拉取后,runtime 会读取ENTRYPOINT镜像的 来定位并提取 Wasm 模块。然后将该模块加载到 Wasm 运行时、启动并配置网络。现在我们的机器上运行了一个 Wasm 应用程序!FhJ28资讯网——每日最新资讯28at.com

这个特定的应用程序是一个简单的 Web 服务器,上面写着“Hello world!” 并将数据回显给我们。为了验证它是否正常工作,让我们首先查看日志。FhJ28资讯网——每日最新资讯28at.com

docker logs wasm-exampleFhJ28资讯网——每日最新资讯28at.com

Server is now running
我们可以通过打开http://localhost:8080或使用 curl 来获取“Hello world”消息。FhJ28资讯网——每日最新资讯28at.com

curl localhost:8080
我们的响应会给我们一条 Hello world 消息:FhJ28资讯网——每日最新资讯28at.com

Hello world from Rust running with Wasm! Send POST data to /echo to have it echoed back to you
要将数据发送到 echo 端点,我们可以使用 curl:FhJ28资讯网——每日最新资讯28at.com

curl localhost:8080/echo -d '{"message":"Hi there"}' -H "Content-type: application/json"
我们将看到发回以在响应中使用的数据:FhJ28资讯网——每日最新资讯28at.com

{"message":"Hi there"}
要删除应用程序,您可以像删除任何其他 Docker 服务一样删除它:FhJ28资讯网——每日最新资讯28at.com

docker rm -f wasm-example
新的集成意味着您可以与 Linux 容器一起运行 Wasm 应用程序(甚至使用 Compose)。FhJ28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-119-2492-0.htmlDocker+Wasm 技术预览简介

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 使用 Docker 显示上下文数据

下一篇: Docker 技术支持下一代桌面即服务 (DaaS)

标签:
  • 热门焦点
  • 鸿蒙OS 4.0公测机型公布:甚至连nova6都支持

    华为全新的HarmonyOS 4.0操作系统将于今天下午正式登场,官方在发布会之前也已经正式给出了可升级的机型产品,这意味着这些机型会率先支持升级享用。这次的HarmonyOS 4.0支持
  • K60至尊版刚预热 一加Ace2 Pro正面硬刚

    Redmi这边刚如火如荼的宣传了K60 Ultra的各种技术和硬件配置,作为竞品的一加也坐不住了。一加中国区总裁李杰发布了两条微博,表示在自家的一加Ace2上早就已经采用了和PixelWo
  • 红魔电竞平板评测:大屏幕硬实力

    前言:三年的疫情因为要上网课的原因激活了平板市场,如今网课的时代已经过去,大家的生活都恢复到了正轨,这也就意味着,真正考验平板电脑生存的环境来了。也就是面对着这种残酷的
  • 如何通过Python线程池实现异步编程?

    线程池的概念和基本原理线程池是一种并发处理机制,它可以在程序启动时创建一组线程,并将它们置于等待任务的状态。当任务到达时,线程池中的某个线程会被唤醒并执行任务,执行完任
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • 大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 携众多高端产品亮相ChinaJoy,小米带来一场科技与人文的视听盛宴

    7月28日,全球数字娱乐领域最具知名度与影响力的年度盛会中国国际数码互动娱乐展览会(简称ChinaJoy)在上海新国际博览中心盛大开幕。作为全球领先的科
  • 联想小新Pad Pro 12.6将要推出,搭载高通骁龙 870 处理器

    联想小新Pad Pro 12.6将于秋季新品会上推出,官方按照惯例直接在发布会前给出了机型的所有参数。联想小新 Pad Pro 12.6 将搭载高通骁龙 870 处理器,重量为 5
  • 荣耀Magic4 至臻版 首创智慧隐私通话 强劲影音系统

    2022年第一季度临近尾声,在该季度内,许多品牌陆续发布自己的最新产品,让大家从全新的角度来了解当今的手机技术。手机是电子设备中,更新迭代十分迅速的一款产品,基
Top