В настоящее время я использую версию 20.10.22 рабочего стола docker (сборка 3a2c30b, новая установка) в Windows (используя wsl2), но команды docker compose
с флагом -f
работают неправильно. Поскольку я использую docker compose V2 (проверено в настройках рабочего стола docker), в моих командах вместо дефиса используется пробел. Я получаю следующее сообщение при запуске любой команды docker compose
с помощью -f
:
неизвестный сокращенный флаг: 'f' в -f См. 'docker --help'.
В частности, я запускаю обучающие программы FIWARE NGSI-LD . Все команды docker compose, которые используются в этих руководствах, не работают. Команды можно найти в файле services
для каждого урока. Например, команда, которая дает сбой (говоря, что флаг -f
не существует) в учебнике Краткая история, выглядит следующим образом:
docker compose -f docker-compose/mintaka.yml -p fiware up -d --remove-orphans --renew-anon-volumes
Странно то, что docker compose --help
и docker compose --version
оба возвращают вывод соответственно docker --help
и docker --version
, как будто это исключает ключевое слово compose
. Вывод приведенной выше команды также относится к стандартной команде справки Docker, а не к справке по составлению Docker.
ОБНОВЛЕНИЕ: Docker исключает ключевое слово compose
между docker и остальной частью команды. Замена compose случайной строкой букв дает тот же эффект. Кажется, что он не может распознать ключевое слово compose
.
Старый docker-compose
не устанавливается, так что тоже не работает. Запуск which docker-compose
возвращает местоположение docker-compose.exe
внутри папки .../Docker/resources/bin
. Выполнение which docker compose
возвращает местоположение docker.exe
. Папка .../Docker/resources/bin
находится внутри переменной среды path.
Кто-нибудь знает, в чем может быть проблема? Я просмотрел бесчисленное количество веб-сайтов, но пока не нашел решения этой проблемы.
С уважением
@HansKilian Я отредактировал вопрос, включив в него конкретную команду.
Вот что у меня есть в запущенных процессах, когда я запускаю docker compose events
:
Пожалуйста, проверьте, есть ли у вас все эти каталоги и файлы. Тогда мы сможем устранить неполадки дальше.
Я добавлю ответ как можно скорее, но, как ни странно, переустановка рабочего стола docker (тот же установщик, та же версия) решила проблему ... Единственная разница между моей старой и новой установкой заключалась в том, что на этот раз у меня уже был установлен wsl.
Я переустановил рабочий стол docker с тем же установщиком (также той же версии), и это достаточно странно решило проблему...
Единственная разница между моей старой и новой установкой заключалась в том, что на этот раз у меня уже был установлен wsl2.
Пожалуйста, отредактируйте свой пост и добавьте точную команду, которую вы используете, которая не работает.