Можно ли создать контейнер LXC, который вы поддерживаете только с целью копирования в качестве шаблона? Если да, то как правильно скопировать контейнер LXC?
Да, контейнер LXC - это несколько файлов конфигурации и каталог на всем сервере. Если вы скопируете этот каталог и файлы конфигурации и измените параметры, вы сможете использовать их в качестве шаблона. Просто заархивируйте его и разархивируйте в каталог новой машины.
Это можно легко получить, используя файловую систему BTRFS в сочетании со снимками.
Файловая система шаблона должна находиться в подтоме файловой системы btrfs, например
btrfs subvolume create /mnt/btrfs/template
После чего вы можете заполнить его.
Чтобы создать снимок:
btrfs subvolume snapshot /mnt/btrfs/template /mnt/btrfs/node-1
Затем удалите снимок с помощью:
btrfs subvolume delete delete /mnt/btrfs/node-1
Преимущества заключаются в том, что:
Далее, если вы хотите предоставить своему контейнеру некоторые закрытые каталоги с возможностью записи поверх файловой системы шаблонов только для чтения, вы можете использовать mount -o привязать из в пределах контейнер
mount -o bind /mnt/btrfs/node-1/var /var
Я также использую основной шаблон для всех своих контейнеров.
Если вы используете Ubuntu 14.04, lxc-clone ваш друг, чтобы создать новый контейнер на основе шаблона.
lxc-clone -o template_container -n new_container