Ошибки

docker-compose: command not found и unknown command: docker compose — как поставить Compose

На сервере нет Compose — программы, которая запускает проекты из файла compose.yaml. Сейчас её команда пишется через пробел: docker compose. Ниже — как её поставить и проверить.

Обновлено 10.10.2026≈ 3 мин чтения
Содержание 8

Как выглядит ошибка

Если на сервере не установлен Compose, команда через пробел даёт:

docker: unknown command: docker compose

Run 'docker --help' for more information

А команда через дефис — ответ самой оболочки:

docker-compose: command not found

Перед текстом может стоять bash: или -bash:. В Ubuntu вместо этой строки бывает подсказка Command 'docker-compose' not found, but can be installed with: со списком пакетов.

docker-compose и docker compose — в чём разница

  • docker-compose через дефис — первая версия Compose, отдельная программа на Python.
  • docker compose через пробел — нынешний Compose, дополнение к команде docker. Документация Docker описывает именно его.

Файлы проекта у них одни и те же: compose.yaml или docker-compose.yml. Если инструкция пишет docker-compose up -d, на новом Compose это docker compose up -d — меняется только дефис на пробел.

Если подсказка Ubuntu предлагает пакет docker-compose, учтите: это и есть первая версия. Ставьте нынешний Compose, как ниже.

Как поставить Compose

Команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне. Способ зависит от того, откуда установлен сам Docker.

Docker из пакетов Ubuntu

Если Docker ставили командой apt install docker.io, поставьте пакет docker-compose-v2:

sudo apt update
sudo apt install docker-compose-v2

Если система спросит пароль, введите пароль своего пользователя на сервере. Символы при вводе не видны — так и должно быть: наберите пароль и нажмите Enter. На вопрос Do you want to continue? [Y/n] ответьте Y и нажмите Enter.

Docker из репозитория Docker

Если Docker ставили по инструкции с сайта Docker, Compose там называется docker-compose-plugin:

sudo apt update
sudo apt install docker-compose-plugin

Не смешивайте способы: пакеты из пакетов Ubuntu и из репозитория Docker конфликтуют между собой.

Не помните, как ставили Docker? Посмотрите:

apt list --installed 2>/dev/null | grep docker

Строка docker.io значит, что Docker из пакетов Ubuntu, а docker-ce — из репозитория Docker.

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

docker compose version

В ответе должен быть номер версии Compose. Теперь перейдите в папку проекта — туда, где лежит compose.yaml, — и запустите его:

docker compose up -d

Если Compose стоит, а ошибка осталась

  • Вы пишете через дефис. Наберите docker compose через пробел.
  • Ошибка permission denied или Cannot connect — это не Compose, а доступ к Docker: нет прав на docker.sock, служба не запущена.
  • В начале файла стоит строка version: — новый Compose её не учитывает, строку можно удалить. Причина ошибки не в ней.

В очень старых файлах, где нет раздела services:, а сервисы записаны сразу с начала файла, новый Compose их не поймёт: такой файл нужно переписать под раздел services:.

Если сайт на обычном хостинге

На обычном хостинге Docker нет: для него нужен свой сервер — VPS — с доступом root.

Источники

Сверено 10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026