gVisor
gVisor
Drop supports two runtimes:
native- sandboxed programs run directly on the host kernel. Linux namespaces are used for isolation.gvisor- for added isolation, alongside Linux namespaces, sandboxed programs run on the gVisor user-space kernel.
To use the gVisor runtime, you need runsc
installed. Then select
the gVisor runtime either in the Drop TOML config by changing runtime = "native" to runtime = "gvisor", or by passing the --runtime=gvisor
parameter to the drop run command, like:
$ drop run --runtime gvisor ps aux
Both runtimes support the same config options and create identically configured sandboxes. The runtime can be changed back and forth for existing Drop environments.
gVisor adds some performance overhead to system calls and is not 100% compatible with the vanilla Linux kernel, although compatibility issues are rare.