容器技术与运行时虚拟化深度解析
容器管理与替代方案
在容器中,PID 1 应承担起父进程的职责,在子进程终止时知道如何处理。当在容器内运行多个服务或任务时,比如为某个作业服务器运行多个工作进程,除了使用脚本启动,还可以考虑使用像 Supervisor(supervisord)这样的进程管理守护程序来启动和监控它们。这样不仅能提供必要的系统功能,还能让你对服务进程有更多的控制权。
LXC:古老而灵活的容器方案
虽然 Docker 是构建容器镜像最流行的系统,且易于上手和实现隔离,但还有其他创建容器的方案,LXC 就是其中历史最悠久的之一。实际上,Docker 的早期版本就是基于 LXC 构建的。
LXC 有时指的是使容器成为可能的一组内核特性,但大多数人用它来指代一个包含创建和管理 Linux 容器工具的库和软件包。与 Docker 不同,LXC 需要大量的手动设置,例如要创建自己的容器网络接口,并提供用户 ID 映射。
最初,LXC 旨在让容器内尽可能完整地包含一个 Linux 系统,包括 init 进程等。安装特定版本的发行版后,你可以安装容器内运行所需的一切。这和 Docker 有相似之处,但 LXC 的设置工作更多,而 Docker 只需下载一些文件就可以使用。
不过,LXC 在适应不同需求方面可能更灵活。默认情况下,LXC 不使用 Docker 中的覆盖文件系统,但你可以添加。由于 LXC 基于 C API 构建,必要时你可以在自己的软件应用中利用这种细粒度控制。此外,还有一个名为 LXD 的管理包可以帮助处理 LXC 中的一些细致手动操作,如网络创建和镜像管理,它还提供了一个 REST API,让你可以不使
超级会员免费看
订阅专栏 解锁全文
27

被折叠的 条评论
为什么被折叠?



