Назад | Перейти на главную страницу

Шаблоны контейнеров LXC?

Можно ли создать контейнер 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