Я недавно мигрировал на новый сервер (Ubuntu 14.04, выделенная, не виртуальный), и установил LXC 1.1.2. Мне настраивали LXC на моем предыдущем сервере без любой проблемы, но на новом сервере я последовательно сталкиваюсь с проблемой с созданием новых непривилегированных контейнеров (а также неспособность запустить перемещенные контейнеры). С недавно созданной учетной записью пользователя я последовательно получаю следующую ошибку:
unshare: Operation not permitted
read pipe: Permission denied
lxc-create: lxccontainer.c: do_create_container_dir: 778 Failed to chown container dir
lxc-create: lxc_create.c: main: 274 Error creating container container-template-ubuntu-14.04-7
Я следовал некоторым инструкциям здесь: https://www.stgraber.org/2014/01/17/lxc-1-0-unprivileged-containers/и введенный по абсолютному адресу вокруг в /proc/sys/kernel/
но это, кажется, не помогло. Я не уверен, что еще я могу попробовать.
Причина, почему это не работало, оказалась ядром, которое было предоставлено сборкой Ubuntu, установленной поставщиком услуг хостинга (SoYouStart/OVH). Это ядро имеет меньше активированных опций, включая тех требуемых LXC. Я установил Универсальное ядро Linux, но не правильно обновил личинку и включил ее.
После выполнения шагов для выбора универсального ядра и обновления личинки и перезагрузки, LXC работал как ожидалось. Я надеюсь, что это помогает кому-то в аналогичной ситуации.
У меня была та же проблема с Debian 9, и этот поток имел поверх остальных окон результаты duckduckgo, таким образом, я делаю извинение за предоставление решения о проблеме Debian на askubuntu, но это может помочь пользователям Ubuntu также:
Установив LXC (apt install lxc
) просто проверьте результат этой команды:
# cat /proc/sys/kernel/unprivileged_userns_clone
Если это 0
, затем Вы, возможно, должны сделать это:
# echo "kernel.unprivileged_userns_clone=1" > /etc/sysctl.d/80-lxc-userns.conf
# sysctl --system
Это видело этот "прием" на странице LXC Debian Wiki, и это работало на меня.
Примечание: Если это не решает проблему для Вас, просто удалите /etc/sysctl.d/80-lxc-userns.conf
и выполненный sysctl --system
снова отменять это изменение.