Как экспортировать контейнер lxc?
Можно ли экспортировать lxc
контейнер на другую машину? Есть несколько инструментов, таких как lxc-snap
а также lxc-clone
помогут ли они в экспорте в другую систему? Могу ли я скопировать и вставить папку rootfs или есть стандартный способ сделать это?
3 ответа
Я не думаю lxc-clone
а также lxc-snap
предполагается использовать для перемещения контейнеров на новую машину. По словам одного из разработчиков LXC, обоснование этих команд:
Одним из очевидных вариантов использования этих клонов моментальных снимков является поддержка пошаговой разработки образов rootfs. Внесите некоторые изменения, снимок, внесите еще некоторые изменения, снимок, отменить...
Там нет упоминаний об экспорте на другую машину...
В то же время я успешно портировал Debian LXC с машины Debian на машину Arch Linux, сначала создав контейнер Debian LXC без какой-либо настройки, а затем скопировав на новую машину config, fstab, lxcname.log
файлы и rootfs
каталог. Вы можете попробовать это, как я, но... YMMV.
Я бегу lxc
контейнеры на btrfs
тома, чтобы я мог снимать их легко с btrfs sub snap
Их можно перенести на удаленный btrfs
файловая система быстрее, чем с rsync
с помощью:
btrfs send /my/snapshot | ssh user@host.com "btrfs receive /my/destination"
btrfs
интеллектуален со снимками и не включает виртуальные файловые системы [proc run sys
]. Передача дополнительных снимков также возможна.
При перемещении снимков в не btrfs
файловая система:
- Смонтируйте удаленный пункт назначения как
sshfs
файловая система &cd
на гору - Остановите контейнер и создайте
tar.xz
архив контейнера
Вы можете просто скопировать файловую систему и внести соответствующие изменения, как указано в посте выше, чтобы все работало нормально. Первоначально я сделал это и заставил это работать.
У меня всегда возникают проблемы с NAT в контейнерах LXC, поэтому, если вы являетесь пользователем с небольшим весом, вы также можете просто chroot
в систему. В настоящее время я использую lxc-templates
создать копию моей желаемой ОС, а затем chroot
в эту систему, чтобы делать свои вещи. Мне не нужна виртуализация в моем случае использования. Идея проста (не с точки зрения реализации), что она может быть легко перенесена.