Rocker - 内嵌式 Docker


MIT
Linux
Rust

软件简介

ROCKER 是一个在线解压进程沙箱实现, 针对的是基于 Linux 的资源受限的(即使是 docker 这样的容器实现自身的资源占用都是不能容忍的) IOT 系统, 旨在提高其资源利用率和系统安全性, 并且避免产生额外的性能开销.

通过将 App 程序文件及其它合适的文件压缩成squashfs包, 通常可以带来超过 60% 的磁盘空间节省, 这对于资源受限的 IOT
系统来说是非常有意义的. 与此同时, 由于 Linux 内核原生提供了动态按需解压支持, 相对于常规的 App 运行模式, 并不会产生额外的内存开销.

沙箱功能的安全性保证, 来自于Linux namespaces/cgroups, overlayfs, Rust 等基础设施,
以及大量的测试用例. 感谢 linus 大神 , Rust 团队 创造出这些伟大的基础设施.

1.1. 亮点与特性

  • client 库使用纯 C 开发
    • 裸金属开发模式, 除了 libc, 没有任何依赖;
    • 使用 clang 编译, gcc 链接, 兼具更小的编译结果和更兼容的链接环境两方面优点;
    • 稳定实用的 error chain 实现;
  • server 端(库)使用 rust 开发, 坚如磐石的稳定性, 媲美 C/C++ 的运行效率和内存利用率;
  • 使用 crosstool-ng 组织交叉工具链, 可稳植性好, 稳定性高;
  • 代码风格强制统一, 整洁优雅;
  • 注重文档与测试;
  • 更多亮点, 欢迎深入源码探索…