• 重磅:Docker Desktop正式集成WasmEdge。后者首登GitHubTrending


    上周五,Docker Desktop 发布了 4.15 新版本。在这个版本中,Docker Desktop 正式集成了 WasmEdge 的 containerd shim, 并且 Docker + Wasm 也从 tech preview 进入到了 beta 阶段。这意味着,1000 万 Docker Desktop 的用户都安装了 WasmEdge,Docker 开发者可以使用已经熟悉的工具链来开发 WasmEdge 应用。在这里插入图片描述
    此外,上周 WasmEdge 上了 GitHub Tending。感谢各位开发者对 WasmEdge 的喜爱!

    在这里插入图片描述

    检查 WasmEdge 的源码:https://github.com/WasmEdge/WasmEdge

    我们提供了一个基于数据库的完整微服务应用示例,如果你想要快速体验 Docker + Wasm,从这个 repo 开始,是最方便的。

    首先,git clone 到 microservice-rust-mysql 本地,并打开这个示例。

    $ git clone https://github.com/second-state/microservice-rust-mysql.git
    $ cd microservice-rust-mysql
    
    • 1
    • 2

    接下来,打开 Docker Desktop,确认 Docker Desktop 正在运行。你可以从这里下载最新的 Docker Desktop。

    下载链接:https://docs.docker.com/desktop/release-notes/

    然后,使用 docker compose up 构建和运行这个微服务 demo。

    docker compose up
    
    • 1

    输入这个命令行后,docker 会按照 Dokcerfile 构建镜像,这其中有两个 Linux 容器镜像,分别是 Nginx 和 MariaDB,一个是 Wasm 镜像,运行着基于 Rust 的微服务。

    然后 docker 会按照 docker-compose.yml 来启动容器,运行构建好的镜像。

    运行结束后,在浏览器打开 http://localhost:8090/,就可以看到这个微服务的 web UI。如 UI 所示,这个微服务将前端的订单信息通过基于 Wasm 的微服务添加到数据库中。在这里插入图片描述

    我们再回到 Docker Desktop 就可以看到,总共有三个容器在运行,其中,有一个被标记了 Wasm32,意味着这是一个 wasm 容器。
    在这里插入图片描述

    有三个镜像,其中 Wasm 镜像只有 3MB,而基于 Linux 的 nignx 镜像有12 MB,MariaDB 则是100多 MB。 Wasm 的轻量级由此可见一斑。

    在这里插入图片描述

    Wasm 不仅仅是占用空间小,Wasm 还是高性能的,启动时间在毫秒以内,而 Linux 容器启动则需要几百毫秒。

    值得一提的是,当前亚马逊正在北美举办的AWSre:Invent六万大会上,AWS 做了其最重要的软件产品发布:lambda serverless 函数的启动时间从6秒降到了600 毫秒。而基于 WasmEdge 的微服务与 serverless 函数的启动时间可以轻松在毫秒以内。正如 Docker 创始人所说,服务端的 WebAssembly 是云计算的未来。

    本篇文章介绍了如何使用 Docker Desktop 和 Docker compose 肩并肩运行Linux容器和 Wasm 容器,下一篇文章,我们将介绍如何配置 Dockerfile 与 docker-compose.yml,从 0 开始,使用 Docker 工具链构建自己的 Wasm 应用。

    相关阅读:

    Docker 与 WasmEdge 合作,发布 WebAssembly 支持

  • 相关阅读:
    Vite3 + Svelte3使用@import导入scss样式
    web3 从redux中拿出所有已完成订单 并渲染到对应的Table列表中
    梳理 Pytorch 19个方面,70个核心操作全总结!
    spring boot 实现Minio分片上传
    【服务器数据恢复】EMC Unity存储误操作删除数据卷的数据恢复案例
    大数据组件spark hadoop hive简单介绍
    C++之weak_ptr与shared_ptr智能指针实例(一百九十五)
    【5】c++11新特性(稳定性和兼容性)—>override关键字
    【跨境电商】全渠道客户服务终极指南(一):概念,重要性与优势
    Vue知识系列(6)每天10个小知识点
  • 原文地址:https://blog.csdn.net/weixin_42376823/article/details/128187104