虽然这个答案没有Docker文章那么广泛,但我会回答你的首选问题:
我可以在12GB的RAM和四核处理器上运行多少个LXD容器?
根据您的硬件要求,确实没有设置最大容器,也不能直接回答.容器占用的空间非常小,因此就RAM和处理能力而言,在容器实际执行某些操作之前,它们并不真正使用资源.不要将LXD视为保留资源的虚拟机管理程序,而是将它们等待容器在请求冒泡到主机操作系统以进行硬件访问之前执行某些操作.话虽如此,您可以为每个容器设置资源上限,因此它们不会超过某个限制,但您问题的答案完全取决于容器将要执行的操作.你可以在该设置上运行数百个容器,但前提是他们没有做任何事情.一旦他们开始消耗资源,您就可以更好地了解可以运行的数量.
LXD是否足够成熟以便在生产中运行?
是的,我们已经为我们的生产服务器运行LXD超过一年,并且对正常运行时间非常满意.LXD已经满足我们的需求,但您必须首先评估您的业务需求.
我可以使用我的应用程序,数据库创建LXD图像,并只在生产服务器上运行吗?
是的,它内置了命令.您可以使用他们的基本映像,构建应用程序,制作应用程序的映像,然后将其复制到其他硬件上,然后根据需要简单地指向负载均衡器.但要注意你的数据库.如果您正在复制您的应用程序,我建议您为数据库分配一个单独的LXD容器,并且可以根据需要对其进行分片并将其成像.我已经对一些容器进行了一些测试,我们为数据库提供了50GB的容器并复制了映像,推送到异地进行备份,然后通常只需不到2分钟就可以拉到新服务器.因此,如果您有小容器,那么响应时间会非常快.我们试图在这些图像写入期间导致数据库损坏,同时在成像过程中通过查询轰炸数据库,并且它非常优雅地处理它而没有单一损坏,但不依赖它.始终也要运行自己的备份.
目前LXD容器的局限性?
关于限制,我发现糟透了是基础网络设置.但是,目前正在开发中解决这个问题,而且情况要好得多.我们的测试版服务器现在通过DHCP连接而不是桥接,这使得它更快更容易推出.我发现那里的工具很缺乏,所以如果你的命令行不多,你最初可能会感到困难.
它由Canonical开发和维护,(不确定这个项目是否会像团结8一样掉落),还是会继续?
据我所知,开发非常活跃,这个项目的负责人StéphaneGraber将继续留在这里.他在社区中很活跃,我也见过他在Stackexchange上回答问题.考虑到LXD也是LXC的主要扩展,如果它被删除,我会感到非常惊讶.