docker在内部是否使用像chroot,unshare,nsenter等的系统调用或lxc的包装

我正在阅读一篇文章 ,从头开始构build容器,而不使用docker,只是使用诸如chroot,unshare,nsenter等linux系统调用。

Docker内部是否包含这些系统调用的封装,看起来像docker exec并没有像这个答案那样使用nsenter

如果docker正在使用golang二进制的这些调用来使用这些系统调用。

或者docker是lxc的一个包装,但是对于我来说并不是这样的答案

任何人都可以指出Docker目前用来构build容器的确切的低层次的东西(系统调用/ lxc等)。

Docker不是LXC的封装。 早在过去,它使用基于LXC的机制来启动容器,但是却被本地实现所取代 。

由于Docker是一个开放源码项目,您可以通过浏览源代码 (后来被重命名为“moby” )来查看它正在做什么。

容器的实际创build由libcontainer组件处理。