Командная строка Windows Docker не может принимать внутренние команды - PullRequest
0 голосов
/ 25 мая 2018

У меня установлен Windows Docker, и когда я запускаю это в командной строке:

docker stop $(docker ps -q)

, я получаю:

unknown shorthand flag: 'q' in -q)

Но при запуске:

docker ps -q

Все в порядке.Есть какие-нибудь подсказки?

Ответы [ 3 ]

0 голосов
/ 19 сентября 2018

Вы можете попробовать небольшой трюк, чтобы остановить все контейнеры:

docker ps -a -q | xargs -n 1 -P 8 -I {} docker stop {}

Он не содержит символа $, поэтому должен быть корректным

0 голосов
/ 21 сентября 2018

Я использовал это в Windows:

powershell docker stop $(docker ps -aq)
0 голосов
/ 25 мая 2018

$(sub command) - это синтаксис оболочки bash (наряду со многими другими командными оболочками в Linux).Если вы попытаетесь запустить его из командной строки Windows, он не будет правильно развернут до запуска остальной части команды, и вы увидите ошибки, с которыми вы столкнулись.Попробуйте установить и запустить команды на bash для Windows.

...