Rocker内嵌式 Docker

联合创作 · 2023-09-27 15:53

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

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

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

亮点与特性

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

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报