TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
CoreInfra

21 Jul, 20:50

Открыть в Telegram Поделиться Пожаловаться

Давно собирался написать, как мы делаем образы для легковесной VMM Firecracker. Firecracker используется в нашем полносистемном программируемом фаззере CoreInfra AT1.

Нам необходимо иметь гибкий способ создания и расширения базовых образов.

Для этого мы используем следующую схему:
Ubuntu squashfs → Base Docker Image → Rootfs Docker Image → merged rootfs → tar → ext4
Сначала берется подготовленный Ubuntu squashfs для Firecracker и первый этап распаковывает squashfs, а второй превращает его содержимое в базовый Docker Image. Таким образом у нас получается базовый образ в точности соответствующий струкртуре изначального sqashfs образа для виртуальной машины.

Поверх базового образа применяется обычный Dockerfile.rootfs.
Через apt-get устанавливаются зависимости будущей VM: Python, Docker, containerd, runc, сертификаты и необходимые библиотеки.

Таким образом Docker выступает как конструктор файловой системы из подготовленного образа.

После сборки создается временный контейнер, а его объединённая файловая система экспортируется через docker export.

Далеее с помощью mkfs.ext4 создается ubuntu.rootfs.ext4, который подключается уже к Firecracker.

Такой способ удобен и для отладки в докер окружении и непосредственно для запуска виртуальной машины, а также удобен для интеграции в CI если вам необходимы изолированные кастомные зависимости. Т.е. докер не как среда запуска, а как способ менеджмента файловой системы и зависимостей.

PS: если тема интересна, пишите в комментарии – выложу докерфайлы.

– @tthread

280 5 6 13 10
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot