⚠
Два оновлення з моменту оригінальної статті: (1) CentOS 8 досяг кінця життєвого циклу 31 грудня 2021 року — використовуйте AlmaLinux 9, Rocky Linux 9 або CentOS Stream. (2) Docker Compose v1 (команда docker-compose) застаріла. Compose v2 тепер є плагіном Docker і запускається як docker compose (з пробілом). Нижче наведено актуальні кроки.
Docker Compose дозволяє описувати і запускати багатоконтейнерні застосунки з одного YAML-файлу — однією командою піднімається весь стек (застосунок, база даних, кеш) з потрібними мережами і томами. Compose тепер вбудований у Docker як плагін (v2), тому встановлюється разом із Docker. Нижче — актуальне налаштування для AlmaLinux 9, Rocky Linux 9 і CentOS Stream.
Крок 1: Додайте репозиторій Docker
sudo dnf install -y dnf-plugins-core sudo dnf config-manager --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
Крок 2: Встановіть Docker і плагін Compose
Пакет docker-compose-plugin надає Compose v2:
sudo dnf install -y docker-ce docker-ce-cli containerd.io \ docker-buildx-plugin docker-compose-plugin
Крок 3: Запустіть Docker і перевірте
sudo systemctl enable --now docker docker --version docker compose version
Зверніть увагу: команда для v2 — docker compose (з пробілом), а не стара docker-compose. Щоб запускати Docker без sudo, додайте свого користувача до групи docker: sudo usermod -aG docker $USER, потім вийдіть і увійдіть знову.
Крок 4: Приклад docker-compose.yml
Створіть файл з іменем docker-compose.yml — ось простий стек WordPress + MySQL:
services: db: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: change_me MYSQL_DATABASE: wordpress volumes: - db_data:/var/lib/mysql wordpress: image: wordpress:latest depends_on: - db ports: - "8080:80" environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_NAME: wordpress volumes: db_data:
Крок 5: Основні команди Compose
docker compose up -d # запустити стек у фоні docker compose ps # список запущених сервісів docker compose logs -f # стежити за логами docker compose down # зупинити і видалити контейнери docker compose pull # оновити образи
У сучасному файлі Compose більше не потрібен рядок version:, який показують старі туторіали — Compose v2 його ігнорує. Docker Compose добре працює на будь-якому VPS або виділеному сервері; для продакшн-стеків помітну різницю дають NVMe-сховище і гарантована RAM.