Як розгорнути вебсайт за допомогою Docker Compose?

Сучасні веб-додатки складаються з різних компонентів, таких як фронтенд, бекенд і база даних. Docker дозволяє нам зручно налаштовувати ці компоненти, але їх подальше управління може бути складним через необхідність налаштування великої кількості зв'язків і конфігурацій. Ось тут і приходить на допомогу Docker Compose!

Docker Compose дозволяє зібрати різні частини веб-додатку в один багатоконтейнерний додаток за допомогою конфігураційного файлу YAML. Завдяки Docker Compose ми можемо легко управляти сервісами, мережами та томами, запускаючи все за одну команду.

За замовчуванням Docker Compose використовує файл з ім'ям docker-compose.yaml. Однак можна використовувати й інші варіанти, наприклад docker-compose.dev.yaml або docker-compose.production.yaml, для різних середовищ, таких як продакшн, staging або розробка.

Приклад конфігураційного файлу:

Приклад docker-compose.yml

version: '3'
services:
frontend:
build:
context: ./frontend-angular
ports:
- "80:80"
depends_on:
- backend
backend:
build:
context: ./backend-node
ports:
- "3000:3000"

У цьому прикладі визначені два сервіси: frontend і backend. Перший відповідає за фронтенд, а другий — за бекенд. Docker автоматично будує образи з вказаних директорій і мапує порти на хості та в контейнері, щоб забезпечити доступ до цих сервісів через браузер.

Команди для роботи з Docker Compose включають:

  • docker-compose up --build — збирає образи та запускає сервіси.
  • docker-compose up — запускає сервіси без пересоздавання образів.
  • docker-compose down — зупиняє та видаляє всі контейнери, мережі та томи.
  • docker-compose ps — показує статус запущених сервісів.
  • docker-compose logs — переглядає логи всіх сервісів.

Docker Compose також дозволяє автоматизувати багато процесів, таких як створення середовищ для розробки, тестування та продакшн. Наприклад, ви можете швидко налаштувати все необхідне для запуску веб-додатку в локальному середовищі.

Щоб попрактикуватися, можна клонувати репозиторій з GitHub і виконати команди для запуску Docker:

git clone https://github.com/billvunguyen/docker-compose-demo.git
cd docker-compose-demo
docker-compose up

Ці команди побудують образи та запустять контейнери для фронтенду і бекенду. В результаті ви зможете отримати доступ до вашого додатку на localhost.

Docker Compose дозволяє спростити і стандартизувати процес розробки та деплою веб-додатків, забезпечуючи ефективне управління різними сервісами та середовищами.

Перекладено з: How to deploy a website using Docker Compose?