Назад | Перейти на главную страницу

Как создать собственный образ LXD из установочного ISO

У меня установлен ISO-образ операционной системы. Моя цель - запустить вторую операционную систему поверх ядра хоста Ubuntu, на котором работает LXD. Я не могу найти базовый образ для указанной операционной системы. Могу ли я создать собственный образ lxc для запуска поверх ядра ubuntu и доступа к оболочке второй системы?

Заранее спасибо.

Стефан Грабер описал процедуру создания образов для LXD 2.0 и выше с нуля в статье. LXD 2.0: управление изображениями (раздел «Создание изображения вручную»):

Создание изображения вручную

Создать свой собственный образ тоже довольно просто.

  1. Создайте файловую систему контейнера. Это полностью зависит от дистрибутива, который вы используете. Для Ubuntu и Debian это будет с помощью debootstrap.
  2. Настройте все, что нужно для правильной работы дистрибутива в контейнере (если что-то нужно).
  3. Сделайте архив этой файловой системы контейнера, при желании сожмите его.
  4. Напишите новый metadata.yaml файл, основанный на описанном выше.
  5. Создайте еще один архив, содержащий это metadata.yaml файл.
  6. Импортируйте эти два архива как образ LXD с помощью:

    lxc image import <metadata tarball> <rootfs tarball> --alias some-name
    

Возможно, вам придется повторить это несколько раз, прежде чем все заработает, настраивая кое-что здесь и там, возможно, добавляя некоторые шаблоны и свойства.

Файл metadata.yaml должен содержать как минимум две следующие пары ключ / значение (замените i686 с правильной архитектурой системы и 1458040200 с меткой времени в формате эпохи Unix (например, date +%s):

architecture: "i686"
creation_date: 1458040200

Дополнительная информация о metadata.yaml можно найти в упомянутой выше статье (раздел «Метаданные изображения»).