写点什么

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:0010351

评论

发布
暂无评论
发现更多内容

爆火小游戏《羊了个羊》,我偏不玩

图灵教育

游戏开发 游戏设计 游戏史

Flutter - Google 开源的移动 UI 框架

陈橘又青

9月月更

数学家的这些迷惑行为,最后都成了神操作

图灵社区

数学 数学教育 数学家

Elasticsearch聚合的嵌套桶如何排序

程序员欣宸

9月月更

数学家的这些迷惑行为,最后都成了神操作

图灵教育

数学 数学教育 数学家

[SpringMVC]拦截器①(概述、入门案例)

十八岁讨厌编程

springmvc 后端开发 9月月更

gopher成长之路(五): 2年前和2年后同一个项目

非晓为骁

个人成长

力扣93 - 复原IP地址【回溯算法】

Fire_Shield

LeetCode 字符串 9月月更

利用flexible.js和VSCode插件cssrem进行可伸缩布局方案

海底烧烤店ai

前端 JavaScrip 响应式网页 9月月更

uni-app黑马优购项目学习记录(一)

海底烧烤店ai

小程序 uni-app JavaScrip 9月月更

爆火小游戏《羊了个羊》,我偏不玩

图灵社区

游戏开发 游戏设计 游戏史

架构师的十八般武艺:架构方法论

agnostic

TOGAF Zachman

jQuery之实战

楠羽

笔记 JQuery框架 9月月更

主流开源消息队列对比与分析

穿过生命散发芬芳

消息中间件 9月月更

Qt|实现简单的分割窗口

中国好公民st

qt 分割 9月月更

WeLink协作文档:办公协作再快一档

科技怪咖

C++学习---cstdio的源码学习分析03-文件重命名函数rename

桑榆

c++ 源码阅读 9月月更

Redis的事件

急需上岸的小谢

9月月更

[SpringMVC]拦截器②(拦截器参数、拦截器链配置)

十八岁讨厌编程

springmvc 后端开发 9月月更

架构之美第一篇-概述

马说IT

架构 企业架构 架构模式 架构三要素 架构发展历史

[Maven进阶]分模块开发与设计

十八岁讨厌编程

maven 后端开发 9月月更

带你玩转NProgress进度条

海底烧烤店ai

前端 JavaScrip 9月月更

计算机网络——编码与调制

StackOverflow

编程 计算机网络 9月月更

面试突击84:Spring 有几种事务隔离级别?

王磊

Java 面试

4 张图了解 CI/CD 基础~

掘金安东尼

前端 9月月更

架构师的十八般武艺:架构目标

agnostic

架构目标

一次线上事故,我顿悟了异步的精髓

勇哥java实战分享

SaaS 的多版本销售该如何设计

产品海豚湾

产品经理 产品设计 SaaS B端产品 9月月更

redis对应的数据类型及其底层原理

知识浅谈

redis 底层原理 9月月更

上海理工大学 x WeLink智慧迎新,2022届新生体验闪电式入学

科技怪咖

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