Интересные GitHub-проекты: ОС из Docker-контейнеров для работы с Docker-контейнерами

RancherOS

RancherOS, по словам разработчиков, является самым маленьким в размере и самым лёгким в использовании инструментом для запуcка Docker. Он включает в себя необходимые системные сервисы udev и syslog.

Подробнее о RancherOS

Именно благодаря тому, что этот инструмент включает в себя только необходимые для запуска Docker средства, его размер гораздо меньше традиционных ОС. Удалив все ненужные библиотеки и службы, разработчики добились сокращения числа требований к исправлениям безопасности ОС. Основной идеей, подтолкнувшей создателей RancherOS к такому решению, стал факт, что обычно пользователи Docker упаковывают все необходимые библиотеки в свои контейнеры.

Ещё одним преимуществом RancherOS является то, что он постоянно запускает самые последние версии Docker. Это позволяет пользователям использовать самые новые возможности Docker, а также быть уверенным, что большинство ошибок контейнеров уже исправлены.

Как и другие минималистические дистрибутивы Linux, RancherOS загружается невероятно быстро, как правило, в течение 5–10 секунд. Запуск контейнеров Docker почти мгновенен, подобно запуску любого другого процесса. Эта быстрота идеально подходит для организаций, использующих микросервисы и автомасштабирование.

Коротко o Docker

Docker — это платформа с открытым исходным кодом, предназначенная для разработчиков, системных администраторов и DevOps. Она используется для создания и запуска контейнеров с использованием простого, но мощного интерфейса командной строки (Command Line Interface, CLI). Поближе познакомиться с Docker вы можете в нашей статье.

Архитектура RancherOS

Всё внутри RancherOS — это обычный Docker-контейнер. Запуск ОС представляет собой запуск двух экземпляров Docker. Один из них называется System Docker и является основным процессом системы. Все остальные системные службы, такие как ntpd, syslog и console, работают в контейнерах Docker. System Docker заменяет традиционные системы инициализации, такие как systemd, и может использоваться для запуска дополнительных системных служб.

RancherOS

System Docker запускает специальный контейнер под названием Docker, который является еще одним демоном, ответственным за управление всеми контейнерами пользователя. Любые контейнеры, которые вы запускаете в качестве пользователя из консоли, будут запускаться внутри этого Docker. Таким образом создаётся изоляция от контейнеров System Docker.

Этот подход гарантирует, что обычные пользовательские команды не повлияют на системные службы. Такое решение выглядит логичным, ведь будет не очень хорошо, если кто-то воспользуется командой docker rm -f $ (docker ps -qa) и удалит всю ОС.

Установка

Подробная инструкция по установке инструмента доступна на его официальном сайте.

Вячеслав Шарунов