3

我正在阅读一篇文章,通过使用 chroot、unshare、nsenter 等 linux 系统调用,在不使用 docker 的情况下从头开始构建容器。

docker内部是否围绕这些系统调用进行了包装,似乎docker exec没有按照这个答案使用nsenter

如果 docker 正在使用这些调用,那么它使用哪个 golang 二进制文件来进行这些系统调用。

或者 docker 是 lxc 的包装器,但在我看来,按照这个答案

谁能指出docker当前用于构建容器的确切低级内容(系统调用/lxc等)。

4

1 回答 1

3

Docker is not a wrapper around LXC. Back in the old days it did use an LXC-based mechanism for starting containers, but that was replaced by a native implementation.

As Docker is an open source project, you can see exactly what it's doing by browsing through the source (which has since been renamed "moby").

The actual creation of containers is handled by the libcontainer component.

于 2017-12-22T18:41:31.443 回答