JavaRush /Курси /Модуль 2: Fullstack /Запуск додатків і сервісів

Запуск додатків і сервісів

Модуль 2: Fullstack
Рівень 14 , Лекція 3
Відкрита

4.1 Команда docker compose up

Команда docker compose up є ключовою командою Docker Compose, яка дозволяє запускати багатоконтейнерні застосунки, визначені у файлі compose.yaml. Вона автоматично створює та запускає всі сервіси, вказані в конфігурації, налаштовує мережі та монтує томи. У цій лекції ми детально розглянемо використання команди docker compose up, її основні параметри та найкращі практики.

Основні функції команди docker compose up

  1. Створення та запуск контейнерів: команда docker compose up створює та запускає всі контейнери, вказані в розділі services файлу compose.yaml.
  2. Налаштування мереж і томів: Docker Compose автоматично створює необхідні мережі та монтує томи, вказані в конфігурації.
  3. Паралельний запуск сервісів: всі сервіси запускаються одночасно, що пришвидшує процес запуску багатоконтейнерних застосунків.
  4. Моніторинг логів: команда виводить логи всіх запущених контейнерів у реальному часі, що дозволяє стежити за їх станом та швидко виявляти проблеми.

Синтаксис команди docker compose up


docker compose up [options] [SERVICE...]

Де:

  • [options]: додаткові параметри для налаштування поведінки команди (наприклад, --detach, --build, --scale).
  • [SERVICE...]: (необов’язково) список сервісів, які потрібно запустити. Якщо не вказано, запускаються всі сервіси.

4.2 Приклади docker compose up

Приклади використання команди docker compose up:

1. Запуск усіх сервісів

Запуск усіх сервісів, визначених у файлі compose.yaml:

Terminal

docker compose up

2. Запуск конкретного сервісу

Запуск конкретного сервісу, наприклад, web:

Terminal

docker compose up web

3. Запуск у фоновому режимі

Для запуску усіх сервісів у фоновому режимі використовуйте опцію -d (detached mode):

Terminal

docker compose up -d

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

4.3 Параметри команди docker compose up

Корисні параметри команди docker compose up:

1. Параметр --build

Цей параметр змушує Docker Compose пересобирати образи перед запуском контейнерів. Корисно, якщо ти вніс зміни в вихідний код чи Dockerfile.

Terminal

docker compose up --build

2. Параметр --force-recreate

Параметр --force-recreate змушує Docker Compose пересоздати контейнери, навіть якщо їх конфігурація не змінилась.

Terminal

docker compose up --force-recreate

3. Параметр --no-recreate

Параметр --no-recreate перешкоджає пересозданню контейнерів, які вже існують, навіть якщо їх конфігурація змінилась.

Terminal

docker compose up --no-recreate

4. Параметр --remove-orphans

Цей параметр видаляє контейнери, які не визначені у поточному файлі compose.yaml, але були створені попередніми запусками Docker Compose.

Terminal

docker compose up --remove-orphans

5. Параметри -V, --renew-anon-volumes

Ці параметри змушують Docker Compose пересоздати анонімні томи замість їх повторного використання.

Terminal

docker compose up -V

4.4 Приклади і рекомендації

Приклади використання команди docker compose up з різними опціями:

Приклад 1: запуск застосунку з перескладанням образів

Цей приклад перескладає образи перед запуском контейнерів, що корисно, якщо ви внесли зміни у вихідний код або Dockerfile.

Terminal

docker compose up --build

Приклад 2: запуск у фоновому режимі з пересозданням контейнерів

Цей приклад запускає контейнери у фоновому режимі та пересоздає їх, навіть якщо конфігурація не змінилася.

Terminal

docker compose up -d --force-recreate

Приклад 3: запуск конкретного сервісу з видаленням зайвих контейнерів

Цей приклад запускає лише сервіс web і видаляє контейнери, які не визначені у поточному файлі compose.yaml.

Terminal

docker compose up web --remove-orphans

Практичні рекомендації

1. Використання .env файлу

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

2. Логи і моніторинг

Коли ви запускаєте контейнери за допомогою команди docker compose up, всі логи виводяться у консоль. Це дозволяє відстежувати стан сервісів і швидко реагувати на виниклі проблеми. Для детального моніторингу використовуйте команди docker compose logs і docker compose ps.

3. Автоматизація збірки і розгортання

Інтеграція команди docker compose up у скрипти автоматизації або пайплайни CI/CD допомагає автоматизувати процес збірки і розгортання багатоконтейнерних застосунків. Наприклад, ви можете налаштувати Jenkins або GitHub Actions для автоматичної збірки, деплою і запуску docker compose up при кожному оновленні коду.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ