Що таке Docker?

Сьогодні хотілося б підняти цікаву тему, а саме, що таке Docker і навіщо його використовувати?

Docker - це програмне забезпечення для автоматизації розгортання і управління додатками в середовищах з підтримкою контейнеризації, контейнерізатор додатків.

Найчастіше докер використовують розробники.

Контейнеризація - технологія, яка дозволяє розробнику ізолювати певні процеси ядра і змусити їх думати, що тільки вони працюють на зовсім новому комп'ютері.

Давайте ближче розглянемо, як працює докер.

Програма упаковує додаток і все його доповнення (код, бібліотека і залежності) у віртуальний контейнер, який може працювати на будь-якому сервері Linux.

Docker складається з декількох елементів:

  • Daemon - його використовують для створення, запуску та управління контейнерами;
  • Високорівнева API - дозволяє користувачеві спілкуватися з Daemon;
  • CLI - командний інтерфейс, який робить все вищеперелічене доступним.

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

Більшість сучасних компаній вже перейшли з віртуального сервера на контейнеризацію. Але це не означає, що вам сьогодні потрібно кинути всі свої віртуальні машини і переходити тільки на докер.

Для того щоб підтримувати цілісність операційної системи можна використовувати і віртуальні сервери, однак контейнери набагато дешевше в обслуговуванні, ніж повноцінний сервер в компанії. Економія виникає за рахунок того, що для обслуговування контейнерів необхідно не так багато фахівців, як в серверній.

Як створити контейнер?

Коли у вас підготовлений docker image, тоді можна створити з нього контейнер на будь-якому фізичному сервері, де встановлено докер.

При створенні контейнера з image, його можна параметризувати (передавати Докерові змінні оточення, які він використовує при створенні контейнера). Так ви зможете передавати Докерові змінні, які він використовує при створенні контейнера з image.

Використання докера підходить для вирішення таких завдань:

  • швидка і зручна передача серверного проекту різним користувачам;
  • забезпечення тиражовані серверів;
  • перевикористовуванність раніше створених конфігурацій сервера.