LXC容器模板?

是否有可能创build一个LXC容器,您只能将其作为模板进行复制? 如果是这样,那么如何正确地复制一个LXC容器?

是的,LXC容器是整个服务器中的一些configuration文件和目录。 如果您复制此目录和configuration文件并调整参数,则可以将其用作模板。 只需将其tar解压到新机器的目录即可。

这可以很容易地使用BTRFS文件系统和快照结合获得。

比方说,模板文件系统必须驻留在btrfs文件系统的子卷上

btrfs subvolume create /mnt/btrfs/template 

之后你可以填充它。

要创build快照:

 btrfs subvolume snapshot /mnt/btrfs/template /mnt/btrfs/node-1 

之后删除快照:

 btrfs subvolume delete delete /mnt/btrfs/node-1 

优点是:

  • 创build和删除速度很快
  • 不需要额外的空间,只有更改的文件(块)占用额外的空间

更进一步说,如果你想给容器提供一些只读的模板文件系统的可写专用目录,你可以使用mount -o从容器 绑定

  mount -o bind /mnt/btrfs/node-1/var /var 

我也为我的所有容器使用主模板。

如果您使用的是Ubuntu 14.04, lxc-clone是您的朋友,可以根据模板创build新的容器。

 lxc-clone -o template_container -n new_container