Играемся с LXC в командной строке
Если вдруг вам приходится часто и много оперировать с LXC контейнерами, есть маленький лайфхак для помощи хардкорщику в консоли. Эти маленькие помощники — алиасы qgeicez. Чтоб много не говорить, привожу строки, которые надо добавить в конфигурационный файл пользователя ~/.bashrc
Для обычного пользователя, оперирующего привелегированными контейнерами:
alias lxls='sudo lxc-ls -f' alias lxon='sudo lxc-start -n' alias lxoff='sudo lxc-stop -n' alias lxat='sudo lxc-attach -n' alias lxcp='sudo lxc-copy -s -n ubuntu-sample -N' alias lxrm='sudo lxc-destroy -n'
Для пользователя root и обычного пользователя, оперирующего непривелегированными контейнерами:
alias lxls='lxc-ls -f' alias lxon='lxc-start -n' alias lxoff='lxc-stop -n' alias lxat='lxc-attach -n' alias lxcp='lxc-copy -s -n ubuntu-sample -N' alias lxrm='lxc-destroy -n'
Комментарий нужен, пожалуй, только по строке с lxcp, где ожидается, что у вас ест шаблонный контейнер ubuntu-sample с базовой системой и есть техническая возможность работы overlayfs, которая делает новый создаваемый контейнер в виде delta-образа файловой системы поверх шаблонного (очень экономит время и диск). В противном случае замените команду на
lxc-copy -n ubuntu-sample -N
Как использовать
Если вы поняли, что написано выше, это уже вероятно излишне, но для полноты. После повторного входа в систему вам будут доступны хелперы-алиасы.
Создаем клон шаблонного контейнера для нужных нам задач:
lxcp task1
Запускаем:
lxon task1
Переходим в контейнер (для выхода достаточно выйти через Ctrl+D):
lxat task1
Останавливаем:
lxoff task1
Удаляем:
lxrm task1
Все обновления системы и общие для всех клонированных контейнеров правки можно делать в контейнере-шаблоне.
~ FIN ~