这个项目能做什么

gVisor在运行应用与主机操作系统之间提供了强大的隔离层。它是一个应用内核,实现了类Linux接口,但与Linux不同的是,它采用内存安全的Go语言编写并在用户态运行。gVisor包含一个名为runsc的开放容器倡议(OCI)运行时,可与Docker和Kubernetes集成,从而简化沙箱化容器的运行。 它既不是像seccomp-bpf那样的系统调用过滤器,也不是像firejail或AppArmor那样基于Linux隔离原语的封装器,更不是传统的虚拟机。相反,gVisor采取了第三种方法:它在提供虚拟机诸多安全优势的同时,保持了常规用户空间应用的低资源占用、快速启动和灵活性。它限制了应用可访问的主机内核表面,同时仍让应用能够访问预期的功能,实际上是通过Linux来实现Linux。 该项目支持x86_64和ARM64架构。构建说明包括使用包装后的构建容器配合Bazel、直接使用Bazel构建、运行单元测试和标准测试套件,以及在macOS上进行测试。为了与标准Go工具链兼容,维护了一个合成go分支,以便外部包可以导入gVisor的子包(例如通过Netstack实现的用户空间网络),但该分支不支持构建runsc。 文档、快速入门指南和技术架构可在gvisor.dev获取。该仓库还包含治理、采用者、安全策略和贡献信息。