Що таке Docker?
Docker – це платформа для контейнеризації, яка дозволяє розробникам створювати, розгортати та керувати застосунками в ізольованих середовищах, які називаються контейнерами.
Контейнери схожі на віртуальні машини, але вони легші, швидші та ефективніші завдяки тому, що використовують спільне ядро операційної системи, а не повністю емулюють апаратне забезпечення.
📦 Основні поняття Docker
1️⃣ Контейнер
Контейнер – це легковагове, ізольоване середовище, в якому виконується застосунок разом із його залежностями. Він гарантує, що програма працюватиме однаково незалежно від того, де вона запущена (локально, на сервері або в хмарі).
2️⃣ Образ (Image)
Образ – це шаблон, з якого створюються контейнери. Він містить всі необхідні залежності, бібліотеки та конфігурацію для запуску програми.
3️⃣ Dockerfile
Це текстовий файл із набором інструкцій, за якими створюється Docker-образ. Наприклад:
FROM node:18 # Використання базового образу Node.js 18
WORKDIR /app # Встановлення робочої директорії
COPY . . # Копіюємо файли проєкту в контейнер
RUN npm install # Встановлення залежностей
CMD ["npm", "start"] # Запуск програми
4️⃣ Docker Hub
Публічний репозиторій, де можна знайти тисячі готових образів (наприклад, nginx
, mysql
, redis
тощо) або завантажити власні.
5️⃣ Docker Compose
Інструмент, який дозволяє запускати кілька контейнерів одночасно з використанням docker-compose.yml
.
Приклад docker-compose.yml
для запуску Node.js
і MongoDB
:
version: "3"
services:
app:
build: .
ports:
- "3000:3000"
depends_on:
- db
db:
image: mongo
ports:
- "27017:27017"
🚀 Чому Docker популярний?
✅ Кросплатформеність – працює на будь-якому сервері чи хмарі
✅ Легка масштабованість – можна легко додавати нові сервіси
✅ Швидке розгортання – миттєве створення контейнерів
✅ Ізоляція середовищ – кожен контейнер працює незалежно
✅ Оптимізація ресурсів – використовує спільне ядро ОС, тому менш ресурсозатратний, ніж віртуальні машини
🔧 Основні команди Docker
📌 Запуск контейнера (наприклад, Nginx):
docker run -d -p 8080:80 nginx
📌 Перегляд запущених контейнерів:
docker ps
📌 Зупинка контейнера:
docker stop container_id
📌 Видалення контейнера:
docker rm container_id
📌 Перегляд списку образів:
docker images
📌 Створення образу з Dockerfile:
docker build -t my_app .
📌 Запуск контейнера з власного образу:
docker run -d -p 5000:5000 my_app
🏗 Як працює Docker?
1️⃣ Розробник пише код і створює Dockerfile
2️⃣ Створюється Docker-образ із усіма залежностями
3️⃣ Контейнер запускається на будь-якому сервері без проблем із сумісністю
4️⃣ Застосунок працює стабільно незалежно від середовища
🏁 Висновок
Docker – це інструмент, який дозволяє легко розробляти, розгортати та запускати застосунки в ізольованих середовищах. Він значно спрощує DevOps-процеси, покращує портативність та масштабованість сервісів.
Якщо працюєш із мікросервісами, бекендом або веброзробкою – Docker стане незамінним інструментом у твоєму арсеналі! 🚀