Smith——安全的微容器构建器传统的容器构建过程需要一系列复杂的步骤。Smith是一个微容器构建工具,解决了构建一致性和安全性的问题。通过rpms、yum库,甚至现有的容器来构建微容器是很方便的。有关构建微容器的更多信息,请参见:微容器宣言。Crashcart——微容器调试工具如果生产环境使用容器的瘦配置,缺乏诊断工具对运维来说将是一个巨大的挑战。虽然大多数诊断可以在主节点上完成,但有时有必要在容器节点可访问的文件系统上执行诊断。在这个场景中使用了Crashcart。它为正在运行的容器加载一组数据来定位失败的原因。crashcart如何定位单边加载数据失败的原理,可以参考:HardcoreContainerDebugging。Railcar-可选的容器运行时Go语言不一定是容器运行时的最佳选择。(注:runtime是通过namespaces和cgroups隔离的组件,Go语言对于容器镜像和CLIS仍然是一个非常明智的选择。)为了便于理解,可以阅读博客:LinuxNamespacesAndGoDon'tMix。Runc(runc是oci运行时的默认组件)的部分代码是用C语言编写的,在Go运行时启动前被调用。虽然Go是一门很棒的语言,但对于只需要轻线程控制和大量系统调用的小组件来说,还有更好的选择。Rust语言可以提供类似于C语言的轻量级控制,但它是内存安全的,避免了类错误和漏洞。更多关于Railcar开发的信息,请参考:BuildingaContainerRuntimeinRust。
