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

17/02/2026
| IT Fundamentals | iron_will | 0 | 6 | |

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

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

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

IT Fundamentals iron_will 13/02/2026

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

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

IT Fundamentals iron_will 25/01/2026

Керування користувачами і правами доступу в Linux

Вступ Операційна система Linux спочатку проєктувалася як багатокористувацька. Це означає, що керування користувачами, групами та правами доступу є базовим механізмом безпеки системи. Коректне налаштування прав дозволяє обмежити доступ до ресурсів, м...

IT Fundamentals iron_will 24/01/2026

GitHub: призначення, можливості та правила роботи з гілками і комітами

Що таке GitHub GitHub — це хмарна платформа для зберігання, керування та спільної розробки програмного коду, яка базується на системі контролю версій Git. Вона використовується як індивідуальними розробниками, так і командами для ведення проєктів б...

DevOps iron_will 12/01/2026

Основи комп’ютерних мереж

Модель OSI та базові мережеві концепції Вступ Комп’ютерні мережі є основою сучасної IT-інфраструктури. Вони забезпечують обмін даними між пристроями, доступ до серверів, роботу вебзастосунків, хмарних сервісів та корпоративних систем. Для ефективн...

IT Fundamentals iron_will 12/01/2026

Базові поняття комп’ютерних мереж

Терміни, скорочення, призначення та практичне застосування Комп’ютерні мережі є основою сучасної IT-інфраструктури: від домашніх мереж до дата-центрів і хмарних платформ. Для коректної роботи, адміністрування та захисту мереж необхідно чітко розуміт...

IT Fundamentals iron_will 11/01/2026

Comments (0)

Commenting is available to authorized users only.

This website uses cookies to improve your experience. Learn more