Docker: що це таке, навіщо потрібен і чим відрізняється від віртуалізації

event 17.02.2026 16:04
| category IT Fundamentals | person iron_will | comment 0 | visibility 81 | |

1. Що таке Docker

Docker - це платформа контейнеризації, розроблена компанією Docker Inc., яка дозволяє упаковувати застосунок разом із залежностями в ізольоване середовище виконання - контейнер.

Контейнер - це легковагова ізольована одиниця виконання, яка:

  • використовує ядро операційної системи хоста;

  • має власну файлову систему;

  • ізольована на рівні процесів і мережі;

  • запускається за секунди.

Основна ідея: застосунок працює однаково в будь-якому середовищі.

2. Для чого потрібен Docker

2.1 Усунення проблеми середовищ

Docker вирішує класичну проблему:

“Працює на моєму комп’ютері, але не працює на сервері”.

Контейнер містить:

  • конкретну версію runtime (PHP, Node.js, Python);

  • системні бібліотеки;

  • залежності;

  • конфігурацію.

Це гарантує однакову поведінку в dev, test і production.

2.2 Спрощення розгортання

Замість ручного налаштування:

  • веб-сервера,

  • бази даних,

  • системних пакетів,

достатньо виконати:

docker compose up -d

2.3 Ізоляція сервісів

Кожен сервіс може працювати:

  • в окремому контейнері;

  • з власною версією runtime;

  • без конфлікту залежностей.

Це критично важливо для мікросервісної архітектури.

2.4 Автоматизація та CI/CD

Docker активно використовується в CI/CD пайплайнах:

  • GitHub Actions

  • GitLab CI

  • Jenkins

Контейнери дозволяють запускати тести в стандартизованому середовищі.

3. Docker vs Віртуалізація

3.1 Віртуальна машина (VM)

Приклад гіпервізора: VMware ESXi

Архітектура VM:

HardwareHypervisorGuest OSApplication

Особливості:

  • кожна VM має повноцінну ОС;

  • споживає значні ресурси;

  • довший час запуску;

  • вищий рівень ізоляції.

3.2 Контейнеризація (Docker)

Архітектура Docker:

Hardware ↓ Host OS ↓ Docker Engine ↓ Containers

Особливості:

  • використовується спільне ядро ОС;

  • мінімальні накладні витрати;

  • запуск за секунди;

  • висока щільність розміщення сервісів.

3.3 Порівняльна таблиця

Параметр

VMDocker
Гостьова ОСПовноціннаВідсутня
РесурсиВисокіНизькі
Швидкість запуску
ХвилиниСекунди
ІзоляціяПовнаНа рівні процесів
МасштабуванняПовільнішеШвидке


4. Основні поняття Docker

4.1 Image (образ)

Образ - це шаблон (read-only), на основі якого створюються контейнери.

Приклад:

docker pull nginx

4.2 Container (контейнер)

Запущений екземпляр образу.

4.3 Dockerfile

Текстовий файл з інструкціями для створення образу.

Приклад:

FROM php:8.2-fpm WORKDIR /var/www COPY . .

4.4 Docker Registry

Сховище образів. Найпопулярніше - Docker Hub.

5. Базові команди Docker

Перевірка версії

docker --version

Завантаження образу

docker pull nginx

Запуск контейнера

docker run nginx

Запуск у фоновому режимі з пробросом порту:

docker run -d -p 8080:80 nginx

Список контейнерів

Активні:

docker ps

Усі:

docker ps -a

Зупинка контейнера

docker stop <container_id>

Видалення контейнера

docker rm <container_id>

Видалення образу

docker rmi nginx

Виконання команди всередині контейнера

docker exec -it <container_id> bash

6. Docker Compose

Docker Compose - інструмент для керування багатоконтейнерними застосунками через YAML-конфігурацію.

Приклад docker-compose.yml:

version: '3.9' services: app: image: php:8.2-fpm ports: - "9000:9000" nginx: image: nginx ports: - "8080:80" db: image: mysql:8 environment: MYSQL_ROOT_PASSWORD: root

Запуск:

docker compose up -d

7. Типовий робочий процес

  1. Створення Dockerfile

  2. Збірка образу:

    docker build -t myapp .
  3. Запуск контейнера:

    docker run -d myapp
  4. Деплой на сервер або оркестрацію (наприклад, Kubernetes)

8. Переваги Docker

  • Портативність

  • Ізоляція

  • Швидкий запуск

  • Спрощене масштабування

  • Стандартизація середовища

9. Обмеження

  • Менший рівень ізоляції порівняно з VM

  • Залежність від ядра ОС

  • Потребує розуміння мереж та сховищ

Related posts

Корисні команди Linux (Ubuntu): практичний довідник для системних адміністраторів та DevOps

Вступ Linux є основою більшості сучасної серверної інфраструктури. Веб-сервери, системи контейнеризації, хмарні платформи, CI/CD-пайплайни та мережеві сервіси у переважній більшості випадків працюють саме на Linux. Серед різних дистрибутивів особлив...

category CheatSheets person iron_will event 13/03/2026

PowerShell: Корисні скрипти, які знадобляться кожному

PowerShell уже давно перестав бути просто оболонкою для адміністрування Windows. Сьогодні це повноцінна платформа для автоматизації рутинних задач, управління інфраструктурою та інтеграції з різними сервісами. Незалежно від того, чи ви системний адмі...

category DevOps person iron_will event 09/03/2026

Ansible: основи автоматизації, принципи роботи та приклади корисних playbook

Вступ Автоматизація інфраструктури стала стандартом у сучасній розробці та експлуатації програмного забезпечення. Концепції Infrastructure as Code (IaC), безперервної інтеграції та безперервного розгортання (CI/CD), керування конфігураціями та масшт...

category DevOps person iron_will event 24/02/2026

PowerShell: основні поняття та основи роботи з Windows та Active Directory

PowerShell - це потужне середовище автоматизації та керування системами, яке поєднує командний рядок, мову сценаріїв і доступ до .NET-екосистеми. Для IT-фахівців, що працюють із Windows-інфраструктурою, адмініструванням серверів або корпоративними ка...

category DevOps person iron_will event 21/02/2026

Керівництво з роботи в Ubuntu: основи для системного адміністратора

Керівництво з роботи в Ubuntu: основи для системного адміністратора1. ВступUbuntu - це Linux-дистрибутив, який широко використовується як на серверних платформах, так і на робочих станціях. Для ефективної роботи з системою необхідно розуміти:структур...

category IT Fundamentals person iron_will event 13/02/2026

Як працює двофакторна автентифікація (2FA): що це таке, які види бувають і навіщо вона потрібна

Що таке двофакторна автентифікація (2FA) Двофакторна автентифікація (Two-Factor Authentication, 2FA) — це механізм захисту облікового запису, який вимагає підтвердження особи користувача за допомогою двох незалежних факторів. На відміну від звичайн...

category IT Fundamentals person iron_will event 25/01/2026
cookie
This website uses cookies to improve your experience. Learn more