从本地模板创建LXC容器(tar.gz)

时间:2015-05-04 04:26:20

标签: ubuntu lxc

我试图从另一个容器的rootfs的本地tar.gz创建一个LXC容器,但我在lxc-create中找不到任何选项来执行此操作。我可以创建一个新容器,删除它的rootfs并用我未解决的rootfs替换它,但这太笨拙了。有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

经过一些搜索后,我发现this script需要tar.gz并创建一个LXC容器。

$ lxc-create -n test-container -t ./salt_tarball -- --network_link lxcbr0 --imgtar /root/template.tar.gz

请注意salt_tarball是脚本的名称。

答案 1 :(得分:1)

使用上面提到的that script @syed需要更多工作(Ubuntu 16.04,LXC 2.0,仍 lxd):

首先,您必须将脚本复制到模板目录并使其可执行

$ cp salt_tarball /usr/share/lxc/templates/lxc-salt_tarball
$ chmod +x /usr/share/lxc/templates/lxc-salt_tarball

确保在复制时在名称前加上lxc-。

使用脚本来创建新容器

$ lxc-create -n test-container -t salt_tarball -- --network_link lxcbr0 --imgtar /root/template.tar.gz

即。在没有./的情况下调用salt_tarball,并且不添加上面添加的lxc。 选项--network_link是可选的。

从任何现有容器创建tar.gz时,请务必使用--numeric-owner