10 月 23 - 25 日,QCon 上海站即将召开,现在大会已开始正式报名,可以享受 8 折优惠 了解详情
写点什么

Docker 发布首个 WebAssembly 支持工具预览版

  • 2022-11-08
    北京
  • 本文字数:1026 字

    阅读完需:约 3 分钟

Docker 发布首个 WebAssembly 支持工具预览版

在 KubeCon NA 2022 大会的云原生Wasm活动日中,Docker 宣布与 CNCF Wasm 运行时项目WasmEdge合作推出Docker+Wasm技术预览。只需一个命令docker compose up,Docker 开发人员就可以立即构建、分享和运行一个完整的 Wasm 应用程序。

 

Wasm 最初是作为 Web 浏览器的安全沙盒开发的。近年来,作为 VM 和 Linux 容器(LXC)的一个安全、轻量级、快速、可移植的替代方案,它在服务器端找到了许多应用场景——这一领域最初是由 Docker 开创的。

 

Second State 提供了一个标准的Docker+Wasm演示应用程序。这是一个数据库驱动的 Web 应用程序,它包含一个用于运行整个 Web 服务(微服务)的 WasmEdge“容器”,以及两个用于运行支持服务的 Linux 容器(一个用于 MySQL 数据库,一个用于为前端 UI 提供静态 HTML 页面的 NGINX)。这三个容器在同一个网络中并行运行,共同组成一个应用程序。微服务用 Rust 编写,并编译成 Wasm。它有一个高性能(非阻塞)的 HTTP 服务器、一个事件处理程序(处理 HTTP 请求的业务逻辑)和一个 MySQL 数据库客户端。整个“容器化”的微服务只有 3MB,而相比之下,数据库和 NGINX 的 Linux 容器则有数百 MB。



图片来源:Docker+Wasm技术预览简介

 

Docker Compose不仅能将 Wasm 应用程序和容器一样运行,还会将 Rust 源代码构建为 Wasm。开发人员甚至不需要安装 Rust 编译器工具链,因为 Docker 也已将整个构建环境容器化。Docker + Wasm 是一个单独的工具,负责构建和运行 Wasm 应用程序。

 

随着 Docker 发起了容器革命(导致了云原生时代的到来),Docker在“多运行时”世界中支持 Wasm 的努力变得特别有意义。


Docker+Wasm 的发布非常有意义。我们不再生活在单运行时的世界中,我们有 Linux 容器、Windows 容器和 Wasm 容器。OCI 可以打包它们,@docker 可以构建和运行它们。—— Docker 联合创始人Solomon Hykes


Docker+Wasm 背后的技术主要来自开源社区。例如,Docker 依赖一个名为runwasi的 Containerd shim(最初由微软的DeisLabs创建)来启动 WasmEdge 并执行 Wasm 程序。

 

开源工作已远远超出了 Docker。例如,Red Hat 团队已经将Wasm运行时支持集成到OCI运行时crrun中。这使得整个Kubernetes栈能够完美支持WasmEdge应用。事实上,在 KubeCon 活动的前几天,Liquid Reply 团队已经演示了使用 WasmEdge 的Podman+Wasm

 

KubeCon 活动上还演示了其他 Wasm 应用,包括:AI推理应用、基于Dapr的微服务流式管道中的数据处理功能。现在,开发人员可以使用 Docker+Wasm 轻松地构建、分享和运行这些应用程序了。

 

原文链接:

https://www.infoq.com/news/2022/11/docker-webassembly/

2022-11-08 08:005476

评论

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

博云 Kubernetes 开源榜单贡献度进入全球前十

BoCloud博云

云计算 开源 云原生

直播预告 | PolarDB-X 动手实践系列——PolarDB-X 数据导入导出功能

阿里云数据库开源

MySQL 数据库 阿里云 云原生 PolarDB-X

Python 教程之数据分析(5)—— 使用 Python 进行数据分析和可视化 | 第 2 套

海拥(haiyong.site)

Python 9月月更

数据可视化系列教程之组件通信

云智慧AIOps社区

前端 JavaScrip 可视化数据

Qt | 关于对象树和元对象的相关问题

YOLO.

c++ qt 9月月更

NFT艺术品交易平台:有哪些功能?

开源直播系统源码

NFT 数字藏品 数字藏品软件

一加现在属于OPPO吗 资深“加油”来解答

Geek_8a195c

字节跳动A/B实验背后的秘密:样本量计算

字节跳动数据平台

数据分析 前端 ab测试 统计原理

高并发下的网络 IO 模型设计

C++后台开发

后台开发 reactor 高并发 epoll 网络io模型

软件测试 | 测试开发 | 一文搞定 uiautomator2 自动化测试工具使用

测吧(北京)科技有限公司

测试 自动化测试

软件测试 | 测试开发 | 这些常用测试平台,你们公司在用的是哪些呢?

测吧(北京)科技有限公司

测试 bug

“数智化”时代 ,房企转型路径与挑战的一种技术思路

Speedoooo

小程序 前端开发 数字化转型 移动开发 小程序容器

博弈论(depu)与孙子兵法-02(46/100)

hackstoic

博弈论

Python 教程之数据分析(6)—— 数据分析的数学运算

海拥(haiyong.site)

Python 9月月更

基于Hudi的湖仓一体技术在Shopee的实践

Shopee技术团队

Hudi LakeHouse 湖仓一体

iOS端如何实现带UI截屏分享

MobTech袤博科技

ios

MySQL系列——表的创建、插入、修改、删除数据

胖虎不秃头

MySQL 数据库 9月月更

Qt | Qt中的一些使用在容器类上的算法

YOLO.

c++ qt 9月月更

测试平台解决了什么问题?

老张

测试平台

【荣耀开发者服务平台—百亿曝光扶持等你来】智慧服务快应用卡片接入指南(上)

荣耀开发者服务平台

JavaScript 前端 UI 安卓 honor

MySQL系列——约束、存储引擎、事务

胖虎不秃头

MySQL 数据库· 9月月更

字节跳动 DanceCC 工具链系列之Xcode LLDB耗时监控统计方案

字节跳动终端技术

ios xcode swift LLVM 客户端

Qt | 关于容器类的一些总结

YOLO.

c++ qt 9月月更

广东省湛江市等保测评机构有几家?怎么做?

行云管家

等保 等级保护 等保测评 湛江

源码 | SpringBoot启动流程大揭秘

六月的雨在InfoQ

源码 springboot SpringBoot实战 9月月更 SpringBoot启动流程

软件测试 | 测试开发 | 测试人员必须掌握的测试用例

测吧(北京)科技有限公司

测试 测试用例

LED显示屏是否可以实现智能化控制

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

软件测试 | 测试开发 | 测试工程师用 Shell 定位 Bug 的正确姿势

测吧(北京)科技有限公司

测试 bug

软件测试 | 测试开发 | 智能遍历测试在回归测试与健壮性测试的应用

测吧(北京)科技有限公司

软件测试 测试

软件测试 | 测试开发 | AppCrawler 自动遍历测试实践(三):动手实操与常见问题汇总

测吧(北京)科技有限公司

软件测试 测试 软件测试和开发

Docker 发布首个 WebAssembly 支持工具预览版_容器_Vivian Hu_InfoQ精选文章