Назад к вопросам
Junior
131
questionbank

Что такое Docker Compose?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech 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: Показывает статус запущенных контейнеров.

Преимущества:

  • Упрощает управление сложными многоконтейнерными приложениями.
  • Обеспечивает повторяемость развертывания.
  • Облегчает локальную разработку и тестирование.