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

问题描述 投票:2回答:1

我正在通过article从头开始构建容器而不使用docker只是通过使用linux系统调用,如chroot,unshare,nsenter等。

docker内部是这些系统调用的包装器,似乎docker exec没有使用nsenter,因为这个answer

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

或者码头工具是围绕lxc的包装,但在我看来并不像这个answer

任何人都可以指出Docker当前用来构建容器的确切低级别的东西(系统调用/ lxc等)。

docker go lxc chroot nsenter
1个回答
2
投票

Docker不是LXC的包装器。在过去,它确实使用基于LXC的机制来启动容器,但这就是replaced by a native implementation

由于Docker是一个开源项目,你可以通过浏览the source(自been renamed "moby"以来)来查看它正在做什么。

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

© www.soinside.com 2019 - 2024. All rights reserved.