Sobes.tech
Junior

Какво е Docker Compose?

sobes.tech AI

Отговор от AI

Инструмент за дефиниране и стартиране на многоконтейнерни Docker приложения. Позволява да се опишат услуги, мрежи и томове в един YAML файл и да се стартират с една команда.

Основни функции:

  • Дефиниране на няколко услуги в един файл.
  • Създаване и стартиране на всички услуги с една команда.
  • Управление на жизнения цикъл на приложението (стартиране, спиране, рестартиране, мащабиране).
  • Мрежова комуникация между контейнерите.
  • Прилагане на конфигурацията на живо.

Пример за файл docker-compose.yml:

version: '3.8' # Версия на формата на файла

services:
  web: # Име на услугата
    image: nginx:latest # Използван образ
    ports:
      - "80:80" # Пренасочване на портове
    volumes:
      - ./html:/usr/share/nginx/html # Мапинг на томове

  app: # Име на друга услуга
    build: . # Сглобяване на образа от Dockerfile в текущата директория
    ports:
      - "5000:5000"
    depends_on: # Зависимост от друга услуга
      - db

  db: # Име на услугата база данни
    image: postgres:latest
    environment: # Променливи на средата
      POSTGRES_DB: mydatabase
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword

volumes: # Определени томове
  data: # Именуван том за данни

Команди:

  • docker-compose up: Стартира контейнерите.
  • docker-compose down: Спира и изтрива контейнерите.
  • docker-compose build: Сглобява образите.
  • docker-compose ps: Показва статуса на работещите контейнери.

Предимства:

  • Улеснява управлението на сложни многоконтейнерни приложения.
  • Осигурява възпроизводимост на внедряването.
  • Улеснява локалната разработка и тестване.