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 28/week @ 2024-05-03 25/week @ 2024-05-10 151/week @ 2024-05-17 47/week @ 2024-05-24 62/week @ 2024-05-31 20/week @ 2024-06-07 23/week @ 2024-06-14 75/week @ 2024-06-21 21/week @ 2024-06-28 31/week @ 2024-07-05 11/week @ 2024-07-12 31/week @ 2024-07-19 44/week @ 2024-07-26 4/week @ 2024-08-02 6/week @ 2024-08-09 37/week @ 2024-08-16

每月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