是否可以在另一个LXC容器中启动LXC容器?
发布于 2012-08-25 18:31:45
这只是个坏主意。对不起。- Jacob Mar 5,20:30
我不认为这是个坏主意。它实际上只是一个色色片里面的一个色片。一方面,它可能会以某种微不足道的方式降低性能(与在VM中运行VM相比)。另一方面,它可能更安全(例如,与根主机系统及其组成部分更加隔离)。
你真的有理由这么做吗?请记住,这里的问题应该是关于你面临的实际问题。-3月5日21时52分
我百分之百同意海报下面的评论。此外,我认为安全的假设是,每个在这里发布问题的人都可能认为他们有真正的理由去做它。
我认为,lxc应该能够简化VM迁移(以及backup+recovery )。但我不确定是否存在无法访问主机操作系统的情况(例如,廉价的vps )。-米哈伊尔3月6日11时17分
实际上,我在6月份第一次为PaaS/IaaS项目深入LXC时就遇到了这个问题,我对允许用户为开发目的模拟云环境的能力特别感兴趣。
LXCeption。我们太深了。-汤姆·奥康纳,3月6日22:46
当我读到这篇文章时,我笑了一下,但事实并非如此:)
无论如何,在阅读了所有这些之后,我最终使用了Ubuntu12.04LTS服务器版的股票安装来设置一个VirtualBox环境,认为这是100%可能的。在安装了LXC之后,我创建了一个新的容器,并在容器中安装了apt-get。大多数安装进展良好,但最终导致错误,原因是cgroup-lite软件包出现问题,其启动作业在安装软件包后未能启动。
经过一些搜索,我看到了这个stgraber.org精品 ( goodies隐藏在“容器嵌套”部分下):
sudo apt-get install lxc
sudo lxc-create -t ubuntu -n my-host-container -t ubuntu
sudo wget https://www.stgraber.org/download/lxc-with-nesting -O /etc/apparmor.d/lxc/lxc-with-nesting
sudo /etc/init.d/apparmor reload
sudo sed -i "s/#lxc.aa_profile = unconfined/lxc.aa_profile = lxc-container-with-nesting/" /var/lib/lxc/my-host-container/config
sudo lxc-start -n my-host-container
(in my-host-container) sudo apt-get install lxc
(in my-host-container) sudo stop lxc
(in my-host-container) sudo sed -i "s/10.0.3/10.0.4/g" /etc/default/lxc
(in my-host-container) sudo start lxc
(in my-host-container) sudo lxc-create -n my-sub-container -t ubuntu
(in my-host-container) sudo lxc-start -n my-sub-container安装那个AppArmor策略并重新启动守护进程就成功了(不过别忘了改变网络范围!)事实上,我认为特定的片段非常重要,所以我将其镜像为@ http://pastebin.com/JDFp6cTB,以防文章脱机。
在那之后,sudo /etc/init.d/cgroup-lite start成功了,一帆风顺。
因此,是的,可以在另一个LXC容器内启动LXC容器:)
发布于 2014-06-05 13:49:01
使用Ubuntu14.04(信任),您可以简单地在父容器配置中添加以下内容:
lxc.mount.auto = cgroup
lxc.aa_profile = lxc-container-default-with-nesting参考:https://ubuntu.com/server/docs/containers-lxc (搜索“嵌套”)
一定要在启动前预先配置好网络,以避免在登录屏幕出现之前出现长时间的停顿!
HTH
发布于 2016-01-03 14:23:31
是的,您可以使用嵌套的LXC容器,尽管有第一条注释,但也有嵌套容器确实有用的时间和用例。请参阅Stephane Graber的10部分LXC博客,特别是容器嵌套一节-
斯蒂芬-格雷伯关于LXC的10部分系列
用例:假设您想要一个多租户LXC环境。为每个人或组织创建1个主容器,确保通过将2个cmds添加到LXC容器配置文件来启用嵌套。接下来,在每个主容器中创建嵌套的子容器,在其中安装每个组所需的应用程序、桌面等。请注意,虽然主容器的默认网络为10.0.3.x,但嵌套容器默认为10.0.4.x (如果需要,可以进行更改)。
我使用嵌套的LXC最大的优势是什么?如果您使用LXC -停止主容器和LXC-克隆它。您不仅克隆主容器,而且克隆所有子容器……这对于快速备份非常方便。如果您想要进行LXC实时迁移w/CRIU,这种方法也很方便。当您将一个主容器迁移到另一台机器时……您实际上是在迁移它和所有嵌套的容器。
最后,对于LXC嵌套的一个很酷的例子,Stephane和其他人使用LXC、BPG和OSPF在一个LXC容器中为“Internet”构建了一个模拟器。在该1 LXC“主或父”LXC容器中,有512个嵌套的LXC容器,每个容器运行用于BGP/OSPF路由的Quagga。这512个互联网“节点”一起模拟互联网。2014年NSEC安全会议上使用了这一实现,供所有与会者在因特网上进行安全试验。
它的来源是在Githug:用于因特网github代码的NSEC LXC模拟器上。
https://serverfault.com/questions/366575
复制相似问题