docker-compose: command not found и unknown command: docker compose — как поставить Compose
На сервере нет Compose — программы, которая запускает проекты из файла compose.yaml. Сейчас её команда пишется через пробел: docker compose. Ниже — как её поставить и проверить.
Содержание 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.
Источники
- Исходный код Docker CLI 29.1.3: docker.go — текст docker: unknown command.
- Документация Docker: история Compose — docker-compose — старая версия, docker compose — нынешняя.
- Документация Docker: установка Compose в Linux — пакет docker-compose-plugin.
- Пакет docker-compose-v2 в Ubuntu 24.04 — Compose для команды docker compose.
- Пакет docker-compose в Ubuntu 24.04 — первая версия Compose, 1.29.2.
- Документация Docker: docker compose up — запуск и пересоздание контейнеров.
Сверено 10 октября 2026 года.
Что почитать дальше
Проверено и обновлено: 10.10.2026