写点什么

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

评论

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

数字化转型的理论体系与具体技术

小炮

数字化转型

40万年才能遇到外星人,是怎么算出来的?

脑极体

Hadoop WordCount案例

Emperor_LawD

hadoop 5月月更

ansible 模块:pause

ghostwritten

ansible

spring中如何自己去实现一个starter

ZuccRoger

5月月更

玩了一场剧本杀,同车队友“不是人”

白洞计划

iframe框架

恒山其若陋兮

5月月更

Web常见的漏洞描述与修复方案

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

Native Flink on Kubernetes 在小红书的实践

Apache Flink

大数据 flink 编程 流计算 实时计算

数据仓库ETL管理平台TASKCTL调度计划控制原理

敏捷调度TASKCTL

程序员 DevOps 分布式 数据仓库 ETL

基于 Agora SDK 实现 iOS 端的多人视频互动

声网

视频 SDK教程

5月硬核预告!明晚开讲:Virtio 虚拟化技术趋势与 DPU 实践 | 第16 期

OpenAnolis小助手

云计算 直播 虚拟化 龙蜥社区 龙蜥大讲堂

SOFA Serverless 体系助力业务极速研发

SOFAStack

开源 Serverless springboot GitHub、 SOFA

厚积薄发——开源公司商业化之路

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

【愚公系列】2022年05月 二十三种设计模式(十)-外观模式(Facade Pattern)

愚公搬代码

5月月更

企评家| 嘉凯城集团股份有限公司成长性评价报告摘要

企评家

ansible 模块:systemd

ghostwritten

ansible systemd

ansible 模块:modprobe

ghostwritten

ansible

ansible 模块:include_tasks

ghostwritten

ansible

十、高可用之应急预案

穿过生命散发芬芳

5月月更 高可用设计

企评家|四川美丰化工股份有限公司成长性报告简述

企评家

DDD实战(10):冲刺1战术之服务设计(下)及技术决策

深清秋

DDD 软件架构 软件设计 生鲜电商系统 5月月更

ansible 模块:lineinfile

ghostwritten

ansible

C语言-strlen与sizeof区别

芒果酱

c++ 编程语言 C语言 5月月更

根因分析思路方法总结|保障IT系统及其稳定性

云智慧AIOps社区

算法 监控 根因分析 智能运维

揭露ROI提升5倍的秘密!火山引擎A/B测试白皮书重磅发布(内附下载链接)

字节跳动数据平台

字节跳动 数字营销 ab测试

深入了解 Flutter 的状态管理机制(下)

岛上码农

flutter 移动端 安卓开发 ios 开发 5月月更

如何用同一套账号接入整个研发过程?

阿里云云效

云计算 阿里云 运维 研发管理 研发

ansible 模块:template

ghostwritten

ansible

真正深入底层!阿里巴巴2022最新版JDK源码剖析笔记太香了

Java全栈架构师

Java 源码 jdk 面试 程序人生

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