В данной статье контейнер создаётся непосредственно в домашнем каталоге пользователя. При планировании реальной установки следует рассмотреть возможности создания специального непривилегированного пользователя для размещения у него контейнеров.
Данная статья применима к:
ОС ОН Орёл 2.12
ОС СН Смоленск 1.6 с ядром generic
Установить пакеты lxc, libpam-cgfs:
sudo apt install lxc libpam-cgfs
После установки пакетов перезагрузить систему:
sudo reboot
Убедиться, что версия пакета lxc >= 3.1.0+really3.0.3-8:
apt-cache policy lxc
Создать пользовательский конфигурационный файл, для чего:
Найти идентификаторы непривилегированного пользователя. Это можно сделать командой:
grep $USER /etc/sub{u,g}id
Создать каталог ~/.config/lxc/:
mkdir ~/.config/lxc/
Добавить найденные идентификаторы в файл ~/.config/lxc/default.conf:
lxc.idmap = u $subuid $uid lxc.idmap = g $subgid $gid
Сценарий для создания пользовательского конфигурационного файла сразу с занесением в него идентификаторов:
mkdir -p ~/.config/lxc sed -e "/^${USER}/"'!d; s/[^:]*:/lxc.idmap = u 0 /; s/:/ /' /etc/subuid >>~/.config/lxc/default.conf sed -e "/^${USER}/"'!d; s/[^:]*:/lxc.idmap = g 0 /; s/:/ /' /etc/subgid >>~/.config/lxc/default.conf
Создать контейнер
lxc-create -t download -n test -- -d debian --no-validate -a amd64 -r buster
Добавить разрешение на домашнюю папку пользователя: