我正在ubuntu 14.04上试验lxc。为了管理几个lxc实例,我使用python3lxc。使用pyhthon3 lxc,我确实无法克隆现有容器:
>>> import lxc
>>> c = lxc.Container('vanilla')
>>> c.defined
True
>>> c2 = c.clone('vanilla_clone')
>>> c2.defined
False
相应地, /var/lib/lxc.vanilla_clone没有根基使用
$ lxc-clone vanilla vanilla_clone
很好。(python3和lxc克隆,两者都是从sudo开始的。)这是python3_lxc中的一个bug或限制,还是我遗漏了什么?
事后思考:使用lxc。容器create需要一个从现有对象克隆时不需要的模板。
我也有同样的问题,我发现当一个同名的容器已经存在或者它认为它已经存在时,就会发生这种情况!因此,在开始克隆之前,您只需检查它。我是这样做的:
>>> import lxc
>>> c = lxc.Container('vanilla')
>>> c2 = lxc.Container('vanilla_clone')
>>> if not c2.defined:
... c2 = c.clone('vanilla_clone')
>>> c.defined
True
>>> c2.defined
True
我真的不知道为什么,但即使是圣菲·格雷勃在这里也会做同样的事情。看看这部分:
# Create a base container (if missing) using an Ubuntu 14.04 image
base = lxc.Container("base")
if not base.defined:
base.create("download", lxc.LXC_CREATE_QUIET, {"dist": "ubuntu",
"release": "precise",
"arch": "i386"})
# Customize it a bit
base.start()
base.get_ips(timeout=30)
base.attach_wait(lxc.attach_run_command, ["apt-get", "update"])
base.attach_wait(lxc.attach_run_command, ["apt-get", "dist-upgrade", "-y"])
if not base.shutdown(30):
base.stop()
# Clone it as web (if not already existing)
web = lxc.Container("web")
if not web.defined:
# Clone base using an overlayfs overlay
web = base.clone("web", bdevtype="overlayfs",
flags=lxc.LXC_CLONE_SNAPSHOT)
# Install apache
web.start()
web.get_ips(timeout=30)
web.attach_wait(lxc.attach_run_command, ["apt-get", "update"])
web.attach_wait(lxc.attach_run_command, ["apt-get", "install",
"apache2", "-y"])
if not web.shutdown(30):
web.stop()
我尝试在克隆时更改rootfs dir,如下所示: 但我有一个错误: 然后我尝试使用"-B"选项和"lvm"值在LV中设置rootfs: 我得到了这个错误: 为什么我不能将“-vgname”或“-dir”与“lxc克隆”一起使用<我做错了什么?克隆容器时是否可以更改rootfs dir? PS:我使用Ubuntu14.04和LXC1.0。5.
LXC 项目由一个 Linux 内核补丁和一些 userspace 工具组成。这些 userspace 工具使用由补丁增加的内核新特性,提供一套简化的工具来维护容器。 容器可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性。本文循序渐进地介绍容器工具 Linux Containers(LXC)。 容器有效地将由单个操作系统管理的资源划分到孤立的组中,以更
我一直在尝试Linux容器(lxc)。安装后,我尝试创建一个容器。我正在用lxc-1.1开发Ubuntu14.04。1.当我尝试创建新容器时,系统会提示我此错误: lxc create:加载共享库时出错:liblxc。所以1:无法打开共享对象文件:没有此类文件或目录。我们非常感谢您对克服此问题的任何帮助。
我一直在研究LXC容器,我想知道是否可以像普通VPS一样使用LXC容器? 我的意思是; 如何将外部IP地址分配给LXC容器 如何直接ssh到LXC容器中 我是LXC容器的新手,所以请告诉我是否还有其他需要注意的差异。
我通过C API使用LXC,并简单地复制和粘贴了示例代码(如链接所示,但用我自己的函数名替换了)。然后从程序中的另一个代码块中调用它,我无法使容器正常启动。 调用只会返回false。如果我将第二个参数更改为start为0(意味着应该使用而不是/sbin/init),则start“成功”,但容器状态立即设置为,因此我无法连接到容器。 正在尝试通过设置获取日志: 只生成空文件。 想到这可能与我看到的另
我可以更改初始化和保存lxc容器的目录吗?现在它们是在/var/cache/lxc下创建的,我希望它们位于另一个目录中,在另一个分区中,我有更多的空间。Changint分区的安装点不是一个选项,因为它已经用于其他用途。