CoreOS використовує Docker, щоб поставити Linux на дієту

Зараз у бета-версії дистрибутив CoreOS Linux використовує Docker для створення дистрибутива з меншим розміром пам'яті та меншою кількістю клопотів щодо управління пакетами

Якраз тоді, коли ви думаєте, що всі можливості для інновацій із Docker, в даний час повсюдною системою контейнерного контейнера для програм, були використані, хтось приходить, щоб спробувати довести, що ви помиляєтесь. Цього разу це ціла операційна система з Docker як основний компонент: CoreOS.

використовує

CoreOS щойно вступив у свій перший власний бета-випуск, і концепція проста: це дистрибутив Linux, який використовує Docker для обробки того, як додатки та послуги додаються до системи та керуються в ній.

CoreOS використовує контейнери для зв’язування програм - наприклад, сервер баз даних із усім проміжним програмним забезпеченням або додаток із робочим середовищем. Теоретично це усуває бурчання залежностей та інші головні болі, які зазвичай пов'язані з управлінням пакетами в Linux. Насправді, CoreOS навмисно не включає менеджер пакетів; його філософія полягає в тому, що будь-яке програмне забезпечення на CoreOS повинно запускатися через контейнер, і його творці стверджують, що цей зменшений підхід також дозволяє установці CoreOS використовувати набагато менше пам'яті, ніж типовий дистрибутив Linux.

CoreOS також використовує контейнери для обробки того, як працюють служби та програми, розгорнуті в кластері, тому всі машини в кластері можуть спільно використовувати одну систему init. Програми можна розподіляти по машинах, щоб гарантувати, що, наприклад, оригінальні контейнери та їх резервні зображення зберігаються в окремих фізичних місцях. Розгорнуті додатки також можуть самостійно конфігуруватися за допомогою системи etcd CoreOS; програми можуть зберігати свої налаштування розподіленим чином і витончено відновлюватись, коли їхні супутні системи переходять у автономний режим. Etcd також контролює, чи є вміст даних контейнерів змінним чи незмінним.

Команда CoreOS стверджує, що за дев'ять місяців альфа-тестування вона зробила 150 релізів продукту, і одна з останніх функцій, яка вийшла з ладу перед заморожуванням бета-версії, - Locksmith, спосіб контролювати те, як відбуваються перезавантаження в кластерах CoreOS, тому лише певна кількість машин (або лише одна за одною, якщо це ваша перевага) виключаються з мережі.

Ці додаткові інгредієнти натякають на те, як Docker сам по собі у своєму поточному стані не вирішує деякі проблеми, пов’язані з управлінням системами Linux, такі як оркестровка або повна заміна рішень для управління конфігурацією та оркестрацією, таких як Chef, Puppet, або Сіль. Однак подібні речі можна зробити разом із Docker за допомогою інших рішень.

Те, як Docker розвиватиметься після остаточного випуску 1.0, вплине на культуру інструментів та технологій розробки, які вже виникли навколо нього. Не ймовірно, що Docker буде переглянуто таким чином, що ці речі зламаються. Більш логічно, що це розвиватиметься додатково.

Деякі функції, анонсовані для поточного підказки випуску Docker, наприклад, про підтримку SELinux. Але деякі інші теоретичні натякають на шляхи подальшого розширення таких проектів, як CoreOS. Наприклад, Docker з часом може бути прив'язаний не лише до контейнерів Linux, а й до гіпервізорів, таких як KVM або Xen.

Нарешті, хоча початковою метою CoreOS є хмарні та SaaS-провайдери, неважко зрозуміти, як розробляються в ній технології матимуть реальну користь на підприємствах загалом, як і Docker.