Docker Compose — це інструмент, який дозволяє визначати та запускати багатоконтейнерні Docker-застосунки. Замість того, щоб вручну запускати кожен контейнер із довгими командами docker run, docker-compose.yml надає простий спосіб описати всю архітектуру додатка у вигляді YAML-файлу. Це дозволяє легко створювати, запускати, зупиняти та масштабувати сервіси за допомогою однієї команди, що значно спрощує розробку, тестування та розгортання застосунків.
Основні можливості Docker Compose включають: запуск кількох контейнерів одночасно, визначення мережі та спільних томів між контейнерами, налаштування змінних середовища та автоматичне підключення сервісів один до одного через імена сервісів. Він особливо корисний для локального середовища розробки, CI/CD-процесів і навіть невеликих продакшен-рішень, де потрібно швидко відтворити середовище для тестування або демонстрації.
Мінімальний docker-compose.yml для локального використання PostgreSQL без збереження даних після видалення контейнера (тобто без volume):
version: '3.8'
services:
postgres:
image: postgres:16
container_name: my_postgres
environment:
POSTGRES_USER: devuser
POSTGRES_PASSWORD: devpass
POSTGRES_DB: devdb
ports:
- "5432:5432"
restart: unless-stopped
tmpfs:
- /var/lib/postgresql/data
Пояснення:
tmpfs
використовується замістьvolume
, щоб дані зберігалися тільки в пам’яті й зникали після видалення контейнера.POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB
— змінні для створення користувача та бази при запуску.restart: unless-stopped
— щоб контейнер автоматично перезапускався після збоїв (опційно).
Запуск
docker-compose up -d
Зупинка й видалення:
docker-compose down
Коментарі
Дописати коментар