Содержание статьи

Docker Compose 2.20 добавил поддержку новых функций сетевых плагинов и улучшил управление зависимостями контейнеров. Чтобы использовать эти возможности, необходимо обновить текущую версию, поскольку устаревшие сборки могут приводить к ошибкам при запуске сложных конфигураций.
Обновление Docker Compose можно выполнить напрямую через скачивание последней сборки с официального репозитория или с помощью пакетного менеджера: apt и yum на Linux, chocolatey на Windows и Homebrew на macOS. Каждая платформа имеет свои нюансы прав доступа и расположения исполняемого файла, которые важно учитывать для корректного обновления.
После установки новой версии следует проверить работоспособность всех существующих Compose-файлов. Некоторые опции синтаксиса и параметры сервисов могли измениться, поэтому запуск docker-compose config позволит обнаружить конфликты и адаптировать конфигурации под новую версию.
Проверка текущей версии Docker Compose
Перед обновлением Docker Compose важно точно определить установленную версию. Неправильная диагностика может привести к конфликтам с существующими проектами или некорректной установке новой сборки.
Для проверки версии используйте следующую команду:
docker-compose --version
Результат команды будет выглядеть примерно так:
docker-compose version 1.29.2, build 5becea4c
Обратите внимание на следующие моменты:
- Числовая версия определяет возможности синтаксиса Compose-файлов. Например, версии ниже 2.0 не поддерживают новые функции сетевых плагинов.
- Build ID помогает идентифицировать точную сборку, что важно для устранения багов или совместимости с Docker Engine.
На разных платформах путь к исполняемому файлу может отличаться:
- Linux: /usr/local/bin/docker-compose или /usr/bin/docker-compose
- Windows: C:\Program Files\Docker\Docker\resources\bin\docker-compose.exe
- macOS: устанавливается через Homebrew и доступен в /usr/local/bin/docker-compose
Для дополнительной диагностики и проверки совместимости с текущей версией Docker Engine можно выполнить команду:
docker-compose version --short
Она выведет только числовую версию, что удобно для скриптов автоматизации обновления.
Загрузка последней версии Docker Compose
Последняя стабильная версия Docker Compose публикуется на официальном репозитории GitHub: https://github.com/docker/compose/releases. Для корректного обновления необходимо определить нужную сборку под вашу операционную систему и архитектуру процессора.
Для Linux доступен прямой способ загрузки с помощью команды curl:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Замените v2.20.2 на актуальную версию, указанную на странице релизов.
На Windows рекомендуется использовать PowerShell и команду:
Invoke-WebRequest "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-Windows-x86_64.exe" -OutFile "C:\Program Files\Docker\Docker\resources\bin\docker-compose.exe"
Для macOS удобнее использовать Homebrew:
brew install docker-compose
или обновить существующую установку через:
brew upgrade docker-compose
После загрузки необходимо проверить права доступа к исполняемому файлу и при необходимости выставить их командой:
sudo chmod +x /usr/local/bin/docker-compose
Эти действия гарантируют, что новая версия будет доступна для всех пользователей системы и корректно интегрирована с Docker Engine.
Обновление Docker Compose на Linux

На Linux Docker Compose можно обновить двумя основными способами: через прямое скачивание исполняемого файла или с помощью пакетного менеджера.
Прямое обновление выполняется командой:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
После скачивания необходимо назначить права на выполнение:
sudo chmod +x /usr/local/bin/docker-compose
Проверка успешности обновления:
docker-compose --version
Для пользователей пакетных менеджеров возможны альтернативные методы:
- apt (Ubuntu/Debian):
- Удалить старую версию:
sudo apt remove docker-compose - Установить новую:
sudo apt install docker-compose-plugin - yum (CentOS/RHEL):
- Удалить старую версию:
sudo yum remove docker-compose - Скачать последнюю сборку с GitHub и переместить в /usr/local/bin
Важно учитывать архитектуру системы: команды с $(uname -m) автоматически подставляют правильную сборку для x86_64 или ARM. После обновления рекомендуется проверить все существующие Compose-файлы на совместимость с новой версией командой:
docker-compose config
Обновление Docker Compose на Windows

На Windows Docker Compose обновляется через PowerShell или пакетный менеджер Chocolatey. Перед началом рекомендуется закрыть все активные Docker-процессы.
Для прямого обновления используйте PowerShell с правами администратора:
Invoke-WebRequest "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-Windows-x86_64.exe" -OutFile "C:\Program Files\Docker\Docker\resources\bin\docker-compose.exe"
Замените v2.20.2 на актуальную версию с официального репозитория GitHub.
Если используется Chocolatey, обновление выполняется командой:
choco upgrade docker-compose
После замены исполняемого файла рекомендуется проверить версию Docker Compose:
docker-compose --version
Важные моменты:
- Путь к файлу по умолчанию C:\Program Files\Docker\Docker\resources\bin\docker-compose.exe. Если Docker Compose установлен в другом месте, замените путь соответствующим образом.
- После обновления старые проекты могут требовать адаптации Compose-файлов, особенно при переходе с версии 1.x на 2.x.
Обновление Docker Compose на macOS
На macOS Docker Compose удобнее всего обновлять с помощью Homebrew. Перед обновлением убедитесь, что установлена последняя версия Homebrew:
brew update
Для установки или обновления Docker Compose выполните команду:
brew install docker-compose
Если Compose уже установлен, обновление выполняется через:
brew upgrade docker-compose
После установки рекомендуется проверить версию:
docker-compose --version
Для пользователей, скачивающих исполняемый файл напрямую с GitHub:
- Скачайте последнюю сборку под macOS: docker-compose-Darwin-x86_64 или docker-compose-Darwin-arm64 для Apple Silicon.
- Переместите файл в /usr/local/bin/docker-compose и задайте права на выполнение:
sudo chmod +x /usr/local/bin/docker-compose
Проверка совместимости существующих Compose-файлов проводится командой:
docker-compose config
Это позволяет выявить устаревшие опции и адаптировать проекты под новую версию.
Проверка успешности обновления
После обновления Docker Compose важно убедиться, что новая версия установлена корректно и совместима с существующими проектами. Для этого выполняется проверка версии и тестирование базовых команд.
Основная команда проверки версии:
docker-compose --version
Результат должен соответствовать загруженной версии, например:
docker-compose version 2.20.2, build 1234567
Для систематической проверки можно использовать таблицу соответствия версий и доступных команд:
| Команда | Ожидаемый результат | Назначение |
|---|---|---|
| docker-compose —version | Отображение новой версии | Проверка корректности установки |
| docker-compose config | Проверка совместимости проектов с новой версией | |
| docker-compose up —dry-run | Симуляция запуска контейнеров без их старта | Выявление ошибок конфигурации до реального запуска |
При выявлении несоответствий рекомендуется удалить старый исполняемый файл и повторно скачать актуальную версию с официального репозитория.
Решение распространённых ошибок при обновлении

Ошибка “Permission denied” возникает при недостатке прав на запись в каталог установки. На Linux и macOS исправляется командой:
sudo chmod +x /usr/local/bin/docker-compose
На Windows необходимо запускать PowerShell с правами администратора и убедиться, что исполняемый файл доступен в C:\Program Files\Docker\Docker\resources\bin.
Ошибка “command not found” появляется, если путь к новой версии не добавлен в переменную окружения PATH. На Linux и macOS добавьте:
export PATH=/usr/local/bin:$PATH
На Windows проверьте, что путь к docker-compose.exe включён в системную переменную PATH через настройки системы.
Конфликты версий, когда старая сборка остаётся в системе, решаются удалением старого файла:
- Linux/macOS:
sudo rm /usr/bin/docker-composeилиsudo rm /usr/local/bin/docker-compose - Windows: удаление старого docker-compose.exe из всех каталогов, указанных в PATH
После устранения проблем рекомендуется проверить новую версию командой:
docker-compose --version
и выполнить тестовую сборку проекта через:
docker-compose config
чтобы убедиться в корректной работе всех сервисов.
Вопрос-ответ:
Как узнать, нужна ли мне новая версия Docker Compose?
Проверить текущую версию можно командой docker-compose —version. Если версия ниже 2.x, рекомендуется обновить Docker Compose, чтобы использовать новые возможности управления сервисами и сетями. Также стоит сверить номер сборки с последним релизом на официальном GitHub-репозитории.
Какие способы обновления Docker Compose существуют на Linux?
На Linux можно обновить Docker Compose двумя способами: через скачивание последнего исполняемого файла с GitHub и через пакетный менеджер. При первом способе используется curl с указанием версии и архитектуры, после чего задаются права на выполнение. При втором — удаляется старая версия и устанавливается новая через apt или yum, в зависимости от дистрибутива.
Что делать, если после обновления Docker Compose возникает ошибка “command not found”?
Эта ошибка обычно связана с тем, что путь к новой версии не добавлен в переменную окружения PATH. На Linux и macOS нужно добавить /usr/local/bin в PATH, на Windows проверить, что docker-compose.exe находится в каталоге, указанном в системной переменной PATH. После этого команда docker-compose —version должна корректно отобразить версию.
Как убедиться, что проекты будут работать после обновления Docker Compose?
После обновления следует проверить существующие Compose-файлы командой docker-compose config. Эта проверка выявляет устаревшие или изменённые параметры, которые могут вызвать ошибки при запуске контейнеров. Дополнительно можно выполнить docker-compose up —dry-run для симуляции запуска без старта сервисов, чтобы убедиться в корректности конфигурации.
