Запуск snap в LXC в Ubuntu 22.04 Jammy

Ранее я писал статью о том, как запустить snap под Ubuntu 18.04 Bionic, однако сейчас всё усложнилось и потребовалось искать и изучать актуальную информацию.

На данный момент, актуальный список действий таков:

  1. Подгружаем модуль fuse на хосте (modprobe fuse), делаем его автозагрузку;
  2. В конфигурационный файл конейнера (/var/lib/lxc/containername/config) прописываем следующие параметры:
    • lxc.mount.entry = /dev/fuse dev/fuse none bind,create=file,optional
    • lxc.apparmor.profile = unconfined
    • lxc.cap.drop =
    • lxc.cap.drop = mac_override sys_time sys_module sys_rawio
  3. Запускаем контейнер, устанавливаем snap: apt install snapd -y
  4. Проверяем работу: snap install hello-world и получаем ошибки

Выполняем snap install hello-world ещё раз и магическим образом всё начинает работать.

Почему snap такой кривой и требует гору костылей — вопрос остаётся открытым.

Кстати говоря, под LXD всё работает «из коробки», то есть просто создаём контейнер lxc launch images:ubuntu/jammy test и всё в нём сразу запускается.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *