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

Что такое Docker Compose?

Sobes Copilot

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

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

sobes.tech AI

Инструмент для определения и запуска многоконтейнерных приложений Docker. Позволяет управлять множеством связанных сервисов в одном файле конфигурации.

Ключевые особенности:

  • Работает на всех платформах, поддерживающих Docker.
  • Использует формат YAML-файла (docker-compose.yml) для описания сервисов, сетей и томов.
  • Позволяет определить зависимости между сервисами.
  • Обеспечивает воспроизводимость окружения для разработки, тестирования и продакшена.

Основные команды:

Команда Описание
up Создает и запускает сервисы.
down Останавливает и удаляет контейнеры, сети, тома и образы (по умолчанию).
build Собирает образы для сервисов.
start Запускает остановленные сервисы.
stop Останавливает запущенные сервисы.
restart Перезапускает сервисы.
ps Отображает статус контейнеров.
logs Отображает логи сервисов.
exec Выполняет команду в работающем контейнере.

Простой пример файла docker-compose.yml:

version: '3.8' # Версия синтаксиса Compose

services:
  web: # Имя сервиса
    image: nginx:latest # Используемый образ
    ports:
      - "80:80" # Проброс портов (хост:контейнер)
    volumes:
      - ./html:/usr/share/nginx/html # Монтирование тома (хост:контейнер)
  app: # Еще один сервис
    build: . # Собирает образ из Dockerfile в текущей директории
    ports:
      - "5000:5000"
    depends_on: # Зависимость: app запустится после web
      - web