2 个版本

0.0.4 2022年10月27日
0.0.3 2021年6月22日

#21 in #oci

每月 21 次下载

自定义许可

175KB
4K SLoC

Intermodal

Rust 中的容器处理。

简介

目标是实现用于处理容器在 Rust 中的功能。更具体地说 -

  1. 处理容器镜像(Docker 和 OCI)的功能
  2. 符合 OCI 标准的容器运行时
  3. CRI 服务器,因此它可以在 kubelet 上运行。
  4. 可以直接使用的工具/实用程序。

目标是创建一个类似 skopeopodmanrunc 的工具,但使用 Rust 实现。

状态

这甚至还不是 v0.1.0,目前有一些类似于 skopeo inspect 的 'inspect' Docker 镜像的功能和一些测试用例。

入门

目前,可以 inspectpull 镜像。

要开始,可以尝试运行以下命令并检查其输出。

  1. 检查镜像

$ cargo build

# Run `image inspect` command
# Add -d for debug -dd for trace log levels
$ ./target/debug/intmod image inspect docker://fedora --config
  1. 拉取镜像

$ cargo build

# Run `image pull` command
# Add -d for debug -dd for trace log levels
$ ./target/debug/intmod image pull docker://fedora

要运行单元测试,请运行 cargo test

路线图

实现以下功能的广泛计划 -

  1. 镜像检查和镜像拉取(以便创建 rootfs。)
  2. 基本的运行时支持,将利用上述 rootfs 来启动容器。
  3. 添加如 cgroupseccomp 等功能。
  4. 支持虚拟机的运行时(使用 rust-vmm)。
  5. 前端 CRI 服务器和其他需要的工具(如 CNI 支持等),以便与 crictl 一起运行。

依赖关系

~13–26MB
~379K SLoC