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

Как создать контейнер LXC в настраиваемом каталоге

Моя корневая файловая система заполнена, и я хотел бы создать контейнер в моем домашнем каталоге, в котором много свободного места. Я сделал такой конфигурационный файл:

  LXC_AUTO="true"
  LXC_DIRECTORY="/home/al/lxc"

И я создаю такой контейнер:

  $ sudo lxc-create -f lxc.conf -t ubuntu -n foo

Но все равно заполняется / var.

Как я могу сказать lxc создать контейнер в моем домашнем каталоге?

РЕДАКТИРОВАТЬ № 2:

Вау, не могу поверить, что пропустил это:

При первой установке lxc (версия: 0.8.0 ~ rc1-8 + deb7u1) ("apt-get install lxc") он спросит вас, в какой каталог вы хотите поместить контейнеры.

РЕДАКТИРОВАТЬ # 2 КОНЕЦ

РЕДАКТИРОВАТЬ:

Видимо, если установить "lxc" из исходников командой:

make install --localstatedir=/home

он должен позволять автоматическое создание VE в каталоге / home. Это повлияет на все инструменты lxc- *.

ИЗМЕНИТЬ КОНЕЦ

Вам нужно отредактировать «lxc-create» (для меня он находится в «/ usr / bin»). В том файле, где определены localstatedir и lxc_path, вам нужно это изменить.

Исходя из того, что вы хотите, вам понадобятся:

localstatedir=/home
lxc_path=${localstatedir}/al/lxc

Или возможно:

localstatedir=/home/al
lxc_path=${localstatedir}/lxc

Моя установка:

localstatedir=/home
lxc_path=${localstatedir}/lxc

Я только что понял это; он создает контейнер без каких-либо ошибок, но я не тестировал его дальше. Что касается строки «LXC_DIRECTORY =» в файле конфигурации «/ etc / default / lxc», она должна соответствовать строке «lxc_path =» в файле «lxc-create», иначе она создаст rootfs в двух разных каталогах.

Итак, ваш файл конфигурации "/ etc / default / lxc" должен читать:

LXC_DIRECTORY="/home/al/lxc"

а мой гласит:

LXC_DIRECTORY="/home/lxc"

Это, конечно, обходной путь, и я не знаю, как это повлияет на другие инструменты lxc- *. Их также может потребоваться отредактировать по мере необходимости; возможно, кто-то еще может подсказать, как установить lxc с этим встроенным в программу.

Вы можете переопределить путь к контейнеру с помощью --lxcpath/-P такой вариант:

sudo lxc-create -P /home/al/lxc -f lxc.conf -t ubuntu -n foo