#docker #docker-compose #ubuntu-20.04
Вопрос:
Я установил новый docker compose
интерфейс командной строки в соответствии с инструкциями на docs.docker.com (Ubuntu 20.04) и не может использовать плагин.
Команда docker compose help
показывает:
$ docker compose help
docker: 'compose' is not a docker command.
See 'docker --help'
Когда я бегу docker help
, я получаю:
$ docker help
Usage: docker [OPTIONS] COMMAND
[[ OMMITTED NORMAL OUTPUT ]]
Invalid Plugins:
compose failed to fetch metadata: fork/exec /home/myname/.docker/cli-plugins/docker-compose: exec format error
Run 'docker COMMAND --help' for more information on a command.
To get more help with docker, check out our guides at https://docs.docker.com/go/guides/
То же самое при установке под /usr/local/lib/docker/cli-plugins
и запуске команды от имени root.
В настоящее время я использую docker
версии 20.10.7 и docker-compose
1.28.0.
Что я делаю не так? Как заставить новичка compose
работать?
Комментарии:
1. В сообщении об ошибке указано имя файла плагина и
exec format error
; какой именно файл является плагином? Вам нужно распаковать его, или распаковать файл tar, или что-то еще?2. @DavidMaze это двоичный файл, который загружается с github.com/docker/compose/releases/tag/v2.0.0 — согласно документам на связанном веб-сайте, распаковка не требуется, только
chmod x
3. Вы проверили?
file ~/.docker/cli-plugins/docker-compose
?4. @DavidMaze :о, вы правы: ссылка неверна, в версии 2.0.0 не существует ресурса с таким именем! По-видимому, было исправлено в 2.0.1… Я ошибочно предположил, что
curl
произойдет сбой, если ссылка будет недействительной.
Ответ №1:
Проблема решена с версией 2.0.1 вместо 2.0.0
Пока документы не будут обновлены, просто измените команду cURL, чтобы загрузить более новую версию:
curl -SL https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
Причиной является отсутствие актива в выпуске Github.
Работает как заклинание:
$ docker compose version
Docker Compose version v2.0.1
ИЗМЕНИТЬ: по состоянию на 26 октября 2021 года документация была обновлена для ссылки на правильный артефакт загрузки. Этот ответ остается верным в случае отсутствия артефактов, что может произойти в будущих версиях или других плагинах.