Гид по технологиям

Установка Docker Compose на Linux

5 min read DevOps Обновлено 25 Dec 2025
Установка Docker Compose на Linux
Установка Docker Compose на Linux

спутник на орбите

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

Зачем обновлять Docker Compose

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

Когда версия Docker Compose в репозитории устарела, вы можете столкнуться с ошибками, связанными со схемой или синтаксисом YAML, например:

  • services.web.depends_on содержит неверный тип, вместо массива ожидается список
  • Unsupported config option for networks

Часто такие ошибки появляются из-за того, что в старой версии отсутствуют новые опции или, наоборот, используются устаревшие поля. В таких ситуациях ручная установка актуального релиза решает проблему быстрее, чем долгие подмены версий в YAML-файле.

Кого это касается

  • Системных администраторов, которые управляют серверами и контейнерами
  • Разработчиков, использующих локальные среды с Docker и Compose
  • Хостеров домашних серверов и Raspberry Pi

Преимущества ручной установки

  • Быстрый доступ к последним функциям и исправлениям
  • Совместимость с новыми схемами конфигурации
  • Возможность выбрать бинарник под вашу архитектуру (x86_64, aarch64, armv7 и т. д.)

Перед началом

Кратко проверьте:

  • Версию Docker Engine: docker –version
  • Наличие старой сборки docker-compose: which docker-compose или docker-compose -v
  • Права суперпользователя для установки в /usr/local/bin

Важно: если вы устанавливали docker-compose через пакетный менеджер (APT, DNF, Pacman и т. п.), сначала удалите пакет, чтобы не было конфликтов.

Удаление версии из репозитория (пример для APT)

Откройте терминал и выполните:

sudo apt remove docker-compose

Если вы использовали другой менеджер пакетов, воспользуйтесь его командой для удаления аналогичного пакета.

Как вручную установить Docker Compose

  1. Перейдите на страницу релизов проекта на GitHub и найдите последний релиз. Выберите бинарный файл для вашей архитектуры. Для большинства современных ПК это docker-compose-linux-x86_64.

страница релизов docker compose на GitHub

  1. Скопируйте ссылку на нужный бинарник (обычно нужно нажать “Show all assets”, чтобы увидеть все файлы).

  2. В терминале скачайте файл с помощью wget. Пример для версии v2.19.1 и x86_64:

wget https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-linux-x86_64
  1. Переименуйте файл (по желанию), переместите в каталог, который в PATH, и сделайте исполняемым:
sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
  1. Проверьте установленную версию:
docker-compose -v

Если всё прошло успешно, вы увидите строку с текущей версией Docker Compose.

ручная установка бинарника docker-compose на linux

Выбор бинарника по архитектуре

  • x86_64 — современные настольные и серверные CPU Intel/AMD
  • aarch64 — 64‑битные ARM (новые Raspberry Pi 4, некоторые серверы)
  • armv7, armv6 — старые модели Raspberry Pi и другие ARM‑устройства

Если выбран неправильный бинарник, он не запустится или будет выдавать ошибку “Exec format error”.

Альтернативные способы установки и когда их использовать

  • Пакетный менеджер дистрибутива: удобно, но часто версии устаревшие.
  • Плагины Docker (docker compose): современный подход, где compose предоставляется как встроенный плагин в Docker CLI. Подходит, если ваш Docker Engine поддерживает плагинную модель.
  • Менеджеры пакетов типа Homebrew (на Linuxbrew): может облегчать обновление, но не всегда отражает официальные релизы Docker Compose.

Выбор зависит от ваших требований к стабильности и доступности свежих релизов.

Тестирование и проверка работоспособности

После установки выполните:

docker-compose --version
docker-compose config

docker-compose config проверит ваш docker-compose.yml на синтаксис и покажет итоговую конфигурацию. Если конфигурация проходит, попробуйте запустить стек в тестовом окружении:

docker-compose up -d
docker-compose ps

Если контейнеры стартуют и сервисы доступны, установка успешна.

Частые проблемы и что делать

  • Ошибка “services.*.depends_on содержит неверный тип”: проверьте синтаксис в docker-compose.yml и совместимость версии схемы. Обновление Docker Compose часто решает проблему.
  • Unsupported config option for networks: возможны несовместимые версии схемы или устаревшие ключи в YAML. Сравните поля с документацией актуальной версии.
  • Exec format error при запуске бинарника: скачан файл для другой архитектуры.

Важно: если после обновления Compose появляются новые ошибки, проверьте журнал и релиз‑ноты на GitHub — там перечислены изменения схемы и обратная совместимость.

Ментальные модели и рекомендации

  • Правило совместимости: более новый Docker Compose обычно поддерживает конфигурации, созданные для старых версий, но не наоборот.
  • Если проект критичен, тестируйте обновления в отдельной среде перед развёртыванием в продакшн.
  • Держите в репозитории образцы docker-compose.yml и README с указанием минимальной требуемой версии Compose.

Чеклист по ролям

Системный администратор:

  • Удалить старую версию из пакетного менеджера
  • Скачать правильный бинарник и установить в /usr/local/bin
  • Проверить права и версию
  • Протестировать рабочие стеки

Разработчик:

  • Убедиться, что docker-compose.yml соответствует используемой версии
  • Выполнить docker-compose config и docker-compose up в локальной среде
  • Зафиксировать требуемую версию в README

Пользователь Raspberry Pi:

  • Выбрать бинарник по архитектуре (armv7, armv6, aarch64)
  • Тестировать на тестовой карте памяти перед переносом в сервис

Критерии приёмки

  • docker-compose -v показывает загруженную версию
  • docker-compose config не возвращает ошибок синтаксиса
  • Стек запускается командой docker-compose up -d и сервисы работают

Небольшой методический шаблон для обновления

  1. Сохранить текущие docker-compose.yml и данные.
  2. Удалить системный пакет docker-compose (если есть).
  3. Скачивать бинарник с официального релиза по архитектуре.
  4. Сделать бинарник исполняемым и поместить в /usr/local/bin.
  5. Проверить версию и прогнать тесты.
  6. Закомментировать или задокументировать в репозитории изменения.

Краткий словарь

  • Docker Engine — движок для запуска контейнеров
  • Docker Compose — инструмент для описания и запуска многоконтейнерных приложений
  • Бинарник — исполняемый файл программы

Решение, когда ручная установка не подходит

Если у вас строгая политика безопасности и любые бинарники должны проходить централизованную проверку, согласуйте выпуск с командой обеспечения безопасности. В таких случаях чаще используются контролируемые пакеты из внутреннего репозитория.

Заключение

Ручная установка Docker Compose из официальных релизов GitHub — простой и надёжный способ получить актуальную версию, избавиться от ошибок совместимости и использовать новые возможности. Всегда проверяйте архитектуру, делайте резервные копии конфигураций и тестируйте изменения в изолированной среде.

Ключевые команды в одном месте:

sudo apt remove docker-compose
wget https://github.com/docker/compose/releases/download/v2.19.1/docker-compose-linux-x86_64
sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -v

Mermaid-диаграмма принятия решения:

flowchart TD
  A[Нужно обновить Docker Compose?] -->|да| B{Есть поддержка плагинов в Docker}
  B -->|да| C[Рассмотреть docker compose как плагин]
  B -->|нет| D[Скачать бинарник с GitHub]
  A -->|нет| E[Оставить версию из репозитория]
  D --> F{Архитектура}
  F -->|x86_64| G[Скачать docker-compose-linux-x86_64]
  F -->|aarch64| H[Скачать docker-compose-linux-aarch64]
  F -->|armv7| I[Скачать docker-compose-linux-armv7]

Примечание: всегда сверяйтесь с официальной документацией проекта перед установкой или обновлением.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Barrier: управлять Raspberry Pi с одного клавиатуры
Raspberry Pi

Barrier: управлять Raspberry Pi с одного клавиатуры

Подсветка кода в React с react-syntax-highlighter
React

Подсветка кода в React с react-syntax-highlighter

Научите ChatGPT писать как вы
Инструменты ИИ

Научите ChatGPT писать как вы

Блочные цитаты в Google Документах — 3 метода
Документы

Блочные цитаты в Google Документах — 3 метода

Пора переходить на Apple Silicon
Mac

Пора переходить на Apple Silicon

Тёмная тема Gmail: включить и улучшить
Руководство

Тёмная тема Gmail: включить и улучшить