Що таке Docker?
Сьогодні хотілося б підняти цікаву тему, а саме, що таке Docker і навіщо його використовувати?
Docker - це програмне забезпечення для автоматизації розгортання і управління додатками в середовищах з підтримкою контейнеризації, контейнерізатор додатків.
Найчастіше докер використовують розробники.
Контейнеризація - технологія, яка дозволяє розробнику ізолювати певні процеси ядра і змусити їх думати, що тільки вони працюють на зовсім новому комп'ютері.
Давайте ближче розглянемо, як працює докер.
Програма упаковує додаток і все його доповнення (код, бібліотека і залежності) у віртуальний контейнер, який може працювати на будь-якому сервері Linux.
Docker складається з декількох елементів:
- Daemon - його використовують для створення, запуску та управління контейнерами;
- Високорівнева API - дозволяє користувачеві спілкуватися з Daemon;
- CLI - командний інтерфейс, який робить все вищеперелічене доступним.
Якщо порівнювати докер з віртуальною машиною, то варто відзначити, що кожен контейнер працює як ізольований процес в просторі користувача, а значить займає значно менше місця за рахунок своєї багаторівневої архітектури.
Більшість сучасних компаній вже перейшли з віртуального сервера на контейнеризацію. Але це не означає, що вам сьогодні потрібно кинути всі свої віртуальні машини і переходити тільки на докер.
Для того щоб підтримувати цілісність операційної системи можна використовувати і віртуальні сервери, однак контейнери набагато дешевше в обслуговуванні, ніж повноцінний сервер в компанії. Економія виникає за рахунок того, що для обслуговування контейнерів необхідно не так багато фахівців, як в серверній.
Як створити контейнер?
Коли у вас підготовлений docker image, тоді можна створити з нього контейнер на будь-якому фізичному сервері, де встановлено докер.
При створенні контейнера з image, його можна параметризувати (передавати Докерові змінні оточення, які він використовує при створенні контейнера). Так ви зможете передавати Докерові змінні, які він використовує при створенні контейнера з image.
Використання докера підходить для вирішення таких завдань:
- швидка і зручна передача серверного проекту різним користувачам;
- забезпечення тиражовані серверів;
- перевикористовуванність раніше створених конфігурацій сервера.