Главная > Другие внешние пакеты > docker compose

Руководство по командам Docker Compose

Docker Compose — это инструмент для определения и запуска многоконтейнерных приложений Docker. Используя файл YAML, вы можете настроить службы вашего приложения и запустить все службы одной командой. Это упрощает управление сложными средами приложений.

Установка Docker Compose

Docker Compose обычно входит в состав Docker Desktop или может быть установлен отдельно. Ниже описано, как установить плагин CLI Docker Compose в среде Linux.

Установка плагина CLI Docker Compose в Linux

Установите последнюю версию плагина CLI Docker Compose, загрузив его и предоставив права на выполнение. Используйте этот метод для установки Docker Compose, если вы не используете Docker Desktop.

Загрузка и установка плагина Docker Compose

sudo curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Загрузите последнюю версию плагина CLI Docker Compose, предоставьте права на выполнение и поместите его в соответствующий путь.

Проверка версии Docker Compose

docker compose version

Проверьте версию Docker Compose, чтобы убедиться, что установка завершена.

Ключевые команды Docker Compose

Docker Compose используется для управления службами, определенными в файле `docker-compose.yml`. Легко управляйте многоконтейнерными приложениями с помощью приведенных ниже опций.

1. Создание и запуск приложений

2. Остановка и удаление приложений

3. Управление службами

Сгенерированная команда:

Комбинируйте команды.

Описание:

`docker compose` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Структура файла `docker-compose.yml`

Docker Compose использует файл `docker-compose.yml` для определения служб, сетей, томов и многого другого. Этот файл написан в формате YAML и четко представляет компоненты приложения и их взаимосвязи.

Базовая структура

Файл `docker-compose.yml` имеет ключи верхнего уровня, такие как `version`, `services`, `networks` и `volumes`. Наиболее важной частью является раздел `services`, который определяет каждый контейнер, из которого состоит приложение.

Пример простого веб-приложения

version: '3.8'
services:
  web:
    image: nginx:latest
    ports:
      - '80:80'
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - api
  api:
    build: .
    ports:
      - '3000:3000'
    environment:
      NODE_ENV: production
volumes:
  data_volume:

Пример `docker-compose.yml` для простого приложения, состоящего из веб-сервера Nginx и службы бэкэнда Node.js.

Объяснение ключей

Пояснения к основным настройкам, часто используемым в файле `docker-compose.yml`.

  • version: Указывает версию формата файла Compose. Рекомендуется использовать последнюю версию (например, '3.8').
  • services: Этот раздел определяет каждую службу-контейнер, из которой состоит приложение.
  • image: Указывает имя образа Docker, который будет использоваться для службы (например, `nginx:latest`).
  • build: Указывает путь к Dockerfile для сборки образа (например, `.` ).
  • ports: Определяет сопоставление портов между хостом и контейнером (например, `- '80:80'`).
  • volumes: Определяет монтирование томов для сохранения данных (например, `- ./data:/app/data`).
  • environment: Определяет переменные среды, которые будут установлены внутри контейнера.
  • depends_on: Определяет зависимости между службами (например, когда служба `db` должна запускаться раньше службы `web`).
  • networks: Определяет сети, к которым будет подключаться служба.

Примеры использования

Узнайте, как эффективно управлять многоконтейнерными приложениями с помощью практических примеров использования команд Docker Compose.

Запуск проекта Docker Compose (в фоновом режиме)

docker compose up -d

Считывает файл `docker-compose.yml` в текущем каталоге и запускает все службы в фоновом режиме.

Перезапуск определенной службы

docker compose restart web

Перезапускает только службу 'web', определенную в `docker-compose.yml`.

Просмотр журналов в реальном времени

docker compose logs -f

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

Остановка приложения и удаление связанных ресурсов

docker compose down -v

Останавливает и удаляет все запущенные контейнеры служб, а также удаляет определенные сети и анонимные тома.

Указание пути к файлу Docker Compose

docker compose -f /path/to/my-app/docker-compose.prod.yml up -d

Выполняет файл Compose с другим именем или расположенный в другом пути вместо стандартного `docker-compose.yml`.


Те же команды в категории