写点什么

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

评论

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

揭秘11.11监控排障利器 京东高稳定日志服务深度解析

京东科技开发者

云计算 DevOps 日志监控

“摸爬滚打”多年,从月薪3K到30Kjava大神,我是怎么蜕变的?

比伯

Java 编程 架构 面试 计算机

产业新基建,撬动数字经济发展新机遇

京东科技开发者

人工智能 新基建 京东

什么是物联网?常见IoT 物联网协议最全讲解

华章IT

物联网 IoT

使用 Jira Service Management 管理资产,您需要知道的5件事

Atlassian

数字化转型 Atlassian Jira ITSM ITIL

使用resilio实现多集群的k8s pod数据双向非实时同步

东风微鸣

Kubernetes 探索与实践 openshift

Kubernetes初体验--用Kubernetes部署一个Web服务

网管

Kubernetes k8s Web 服务 Go 语言

华为云MVP高浩:打破AI开发瓶颈,解决数据、算法、算力三大难题

华为云开发者联盟

人工智能 数据 华为云

架构师训练营第 1 期第 10 周总结

owl

极客大学架构师训练营

Linux 笔记(三): 软件安装

Leo

Linux 学习 大前端

Mysql数据备份与恢复

张攀钦

MySQL

深度剖析,为何C语言在开发领域的地位如此稳固

Philips

Python .net rust C语言 Go 语言

C++语言中std::array的神奇用法总结,你需要知道!

华为云开发者联盟

容器 数组 函数

《我想进大厂》之Spring夺命连环10问

艾小仙

Java spring 程序员 面试 大厂

CAP理论

DL

架构师训练营第十周作业

文智

极客大学架构师训练营

Mac下Docker Desktop配置阿里云镜像加速器

jiangling500

Docker 阿里云镜像加速器

一线大厂欺负程序员?京东单方面辞退38岁P7员工三次败诉

Java架构师迁哥

Spring Boot 2.4.0正式发布,全新的配置文件加载机制(不向下兼容)

YourBatman

云原生 Spring Boot 新特性

什么是低代码(Low-Code)?

阿里巴巴云原生

程序员 云原生 代码

源码 | 浅谈Webpack原理,以及loader和plugin实现。

梁龙先森

大前端 webpack

第十周学习总结

饭桶

不懂源码?来看看阿里P8亲自手码的Spring源码解析整套笔记,高薪offer唾手可得!

比伯

Java 编程 架构 面试 计算机

第十周课后练习

饭桶

薇娅携手中国航天基金会与我们的太空 带你“益起探月,共舞九天“

「面试必备」最新整理出的腾讯C++后台开发面试笔记

linux大本营

c++ Linux 后台开发 架构师

架构师第一期作业(第 11 周)

Cheer

作业

一点就透的二分查找算法

比伯

Java 编程 程序员 面试 计算机

接口测试如何在json中引用mock变量

测试人生路

json 接口测试 Mock

Canal 组件简介与 vivo 帐号实践

vivo互联网技术

数据库 分布式 数据存储

排查指南 | mPaaS 小程序提示“网络不给力”时该如何排查?

蚂蚁集团移动开发平台 mPaaS

小程序 网络 小程序生态 mPaaS

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