Загрузка...

Ошибка «The command ‘docker-compose’ could not be found»: как исправить

docker

Если при попытке запустить docker-compose up вы видите сообщение вроде:

The command 'docker-compose' could not be found

это означает, что система не находит программу docker-compose — инструмент для запуска многоконтейнерных приложений.

Эта проблема может возникать по нескольким причинам, и ниже мы разберём все основные варианты и способы решения.


✅ Почему возникает ошибка?

📌 1. Вы используете старую/неустановленную версию Compose

Современный Docker CLI включает Compose V2 как плагин, и команда запускается не как docker-compose, а как:

docker compose

то есть без дефиса.


📌 2. Docker Compose просто не установлен

Особенно на Linux-системах или в WSL-среде, где установка Docker Desktop не гарантирует наличие команды docker-compose.


📌 3. Бинарный файл установлен, но не в PATH

Команда может быть установлена, но система не знает, где её искать — из-за проблем с переменной окружения PATH.


🚀 Что делать — пошаговое руководство


✔️ Шаг 1 — проверьте, работает ли Compose V2

В терминале введите:

docker compose version

Если вывод есть — используйте docker compose вместо старого docker-compose.

Это лучший и самый современный способ запуска Compose-проектов.


✔️ Шаг 2 — проверьте старую команду

Если вам нужно именно старое docker-compose, проверьте:

docker-compose --version

Если система выдаёт “command not found”, значит его нет или он не доступен через PATH.


✔️ Шаг 3 — установить Docker Compose (если нужно)

📌 На Linux (Ubuntu)

sudo apt update
sudo apt install docker-compose-plugin

После этого проверка:

docker compose version

⚠️ В новых версиях это уже V2 — docker compose, а не docker-compose.


✔️ Шаг 4 — установка «классического» бинарника (если требуется)

Если вам обязательно нужен именно docker-compose (v1-совместимость):

sudo curl -L "https://github.com/docker/compose/releases/download/v2.38.2/docker-compose-$(uname -s)-$(uname -m)" 
  -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose --version

⚠️ Обратите внимание: URL и версия могут меняться — проверяйте актуальную версию на GitHub.


✔️ Шаг 5 — убедитесь, что путь в PATH

Если бинарник установлен, но система всё ещё не находит его:

echo $PATH

Если /usr/local/bin или другой путь отсутствует — добавьте его:

export PATH=$PATH:/usr/local/bin

А затем перезапустите терминал.


✔️ Шаг 6 — если вы на Windows / WSL

Сообщение типа:

The command 'docker-compose' could not be found in this WSL 2 distro.

часто означает, что Docker Desktop не запущен или не подключена интеграция WSL.

✅ Запустите Docker Desktop
✅ В настройках включите WSL Integration
✅ Перезапустите терминал


🛠 Частые ситуации и советы

✅ Если вы видите ошибку, но docker compose работает — лучше переходить на новый синтаксис:

docker compose up -d

❗ Старый docker-compose постепенно устаревает — новые версии Docker теперь ориентируются на плагин V2.


📌 Итог

Сценарий Решение
docker-compose не найден Перейдите на docker compose
Нужно сохранить старый docker-compose Установите бинарник вручную
Compose есть, но не найден в PATH Добавьте путь в PATH
WSL2 / Docker Desktop Включите интеграцию и запустите Docker Desktop

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *