Docker Compose

Файл docker-compose.yaml використовується для налаштування і запуску багатоконтейнерних Docker-додатків. У цьому розділі ми розглянемо, як прописати використання вашого образу у файлі docker-compose.yaml, а також які команди викликати для збірки і оновлення контейнерів у випадку змін у Dockerfile.

Створення та налаштування docker-compose.yaml

Створіть файл docker-compose.yaml у кореневій директорії вашого проекту. Цей файл буде використовуватися для опису сервісів, мереж і об'ємів.

Приклад docker-compose.yaml:

version: '3'
services:
  app:
    build: .
    image: myapp:latest
    ports:
      - '8080:8080'
    volumes:
      - .:/app

Опис основних параметрів:

  • version: Версія формату файлу Compose.
  • services: Опис ваших сервісів (контейнерів).
    • app: Назва сервісу.
      • build: Шлях до Dockerfile, який потрібно використовувати.
      • image: Ім'я образу, який буде створений.
      • ports: Проброс портів між хост-машиною і контейнером.
      • volumes: Проброс директорій з хост-машини в контейнер.

Збірка і запуск контейнерів

Для збірки і запуску контейнерів використовуйте команду docker-compose up.

Команда docker-compose up

Основний синтаксис:

docker-compose up --build
  • --build: Прапорець, який змушує Docker заново зібрати образ перед запуском контейнера.

Ця команда виконує збірку образу і запуск контейнерів:

docker-compose up --build

Оновлення контейнерів у випадку змін у Dockerfile

Якщо ви вносите зміни в Dockerfile, потрібно заново зібрати образ і перезапустити контейнери. Для цього використовуйте все ту ж команду docker-compose up з прапорцем --build.

Оновлення контейнерів:

  1. Внесіть зміни в Dockerfile.
  2. Виконайте команду:
     docker-compose up --build
    

Перезапуск контейнерів без зупинки

Якщо ви хочете перезапустити контейнери посеред роботи, можна використовувати команду docker-compose restart.

Команда docker-compose restart

Основний синтаксис:

docker-compose restart

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

docker-compose restart

Зупинка контейнерів

Щоб зупинити всі контейнери, використовуйте команду docker-compose down.

Команда docker-compose down

Основний синтаксис:

docker-compose down

Ця команда зупиняє і видаляє всі контейнери, мережі та томи, створені за допомогою docker-compose up:

docker-compose down

Приклад послідовності команд

  1. Створіть docker-compose.yaml:
     version: '3'
     services:
       app:
         build: .
         image: myapp:latest
         ports:
           - '8080:8080'
         volumes:
           - .:/app
    
  2. Збірка і запуск контейнерів:
     docker-compose up --build
    
  3. Оновлення контейнерів після змін у Dockerfile:
     docker-compose up --build
    
  4. Перезапуск контейнерів:
     docker-compose restart
    
  5. Зупинка і видалення контейнерів:
     docker-compose down
    

Ці команди та конфігурації дозволяють ефективно керувати вашим Docker-додатком, автоматизуючи збірку і запуск контейнерів з використанням docker-compose.

Додаткові посилання

results matching ""

    No results matching ""