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
每月94次下载
315KB
4.5K SLoC
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