2 个版本
0.0.4 | 2022年10月27日 |
---|---|
0.0.3 | 2021年6月22日 |
#21 in #oci
每月 21 次下载
175KB
4K SLoC
Intermodal
Rust 中的容器处理。
简介
目标是实现用于处理容器在 Rust 中的功能。更具体地说 -
- 处理容器镜像(Docker 和 OCI)的功能
- 符合 OCI 标准的容器运行时
- CRI 服务器,因此它可以在 kubelet 上运行。
- 可以直接使用的工具/实用程序。
目标是创建一个类似 skopeo、podman 和 runc 的工具,但使用 Rust 实现。
状态
这甚至还不是 v0.1.0,目前有一些类似于 skopeo inspect
的 'inspect' Docker 镜像的功能和一些测试用例。
入门
目前,可以 inspect
和 pull
镜像。
要开始,可以尝试运行以下命令并检查其输出。
- 检查镜像
$ cargo build
# Run `image inspect` command
# Add -d for debug -dd for trace log levels
$ ./target/debug/intmod image inspect docker://fedora --config
- 拉取镜像
$ cargo build
# Run `image pull` command
# Add -d for debug -dd for trace log levels
$ ./target/debug/intmod image pull docker://fedora
要运行单元测试,请运行 cargo test
。
路线图
实现以下功能的广泛计划 -
- 镜像检查和镜像拉取(以便创建
rootfs
。) - 基本的运行时支持,将利用上述
rootfs
来启动容器。 - 添加如
cgroup
、seccomp
等功能。 - 支持虚拟机的运行时(使用 rust-vmm)。
- 前端 CRI 服务器和其他需要的工具(如
CNI
支持等),以便与crictl
一起运行。
依赖关系
~13–26MB
~379K SLoC