6个版本 (破坏性更新)

0.6.0 2024年5月23日
0.5.0 2024年3月20日
0.4.0 2023年11月1日
0.2.1 2023年8月3日
0.1.2 2023年3月7日

#166 in WebAssembly

Download history • Rust 包仓库 28/week @ 2024-05-03 • Rust 包仓库 25/week @ 2024-05-10 • Rust 包仓库 151/week @ 2024-05-17 • Rust 包仓库 47/week @ 2024-05-24 • Rust 包仓库 62/week @ 2024-05-31 • Rust 包仓库 20/week @ 2024-06-07 • Rust 包仓库 23/week @ 2024-06-14 • Rust 包仓库 75/week @ 2024-06-21 • Rust 包仓库 21/week @ 2024-06-28 • Rust 包仓库 31/week @ 2024-07-05 • Rust 包仓库 11/week @ 2024-07-12 • Rust 包仓库 31/week @ 2024-07-19 • Rust 包仓库 44/week @ 2024-07-26 • Rust 包仓库 4/week @ 2024-08-02 • Rust 包仓库 6/week @ 2024-08-09 • Rust 包仓库 37/week @ 2024-08-16 • Rust 包仓库

每月94次下载

Apache-2.0

315KB
4.5K SLoC

runwasi logo

containerd-shim-wasm

一个库,用于帮助构建用于wasm工作负载的containerd shims。

用法

use containerd_shim as shim;
use containerd_shim_wasm::sandbox::{ShimCli, Instance, Nop}

fn main() {
    shim::run::<ShimCli<Nop>>("io.containerd.nop.v1", opts);
}

上面的示例使用了内置的Nop实例,该实例不执行任何操作。您可以通过实现Instance特质来构建自己的实例。

use containerd_shim as shim;
use containerd_shim_wasm::sandbox::{ShimCli, Instance}

struct MyInstance {
 // ...
}

impl Instance for MyInstance {
    // ...
}

fn main() {
    shim::run::<ShimCli<MyInstance>>("io.containerd.myshim.v1", opts);
}

containerd期望将shim二进制文件安装到$PATH(由containerd进程所见)中,二进制名称如containerd-shim-myshim-v1,映射到io.containerd.myshim.v1运行时,该运行时需要在containerd中配置。它(containerd)还支持指定shim二进制文件的路径,但需要配置才能这样做。

此crate与任何特定的wasm引擎无关。

依赖关系

~33–49MB
~812K SLoC