Windows docker命令行无法接受内部命令

时间:2018-05-25 06:55:47

标签: windows docker command-line docker-for-windows

我安装了windows docker,当我在命令行运行时:

docker stop $(docker ps -q)

我明白了:

unknown shorthand flag: 'q' in -q)

但是在跑步的时候:

docker ps -q

一切都很好。有线索吗?

4 个答案:

答案 0 :(得分:1)

$(sub command)是bash shell的语法(以及Linux上的许多其他命令shell)。如果您尝试从Windows命令提示符运行此命令,则在运行其余命令之前将无法正确扩展它,您将看到遇到的错误。尝试在bash for Windows上安装并运行命令。

答案 1 :(得分:1)

我在Windows中使用了此

powershell docker stop $(docker ps -aq)

答案 2 :(得分:0)

您可以尝试一些技巧来停止所有容器:

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

它不包含$符号,因此应该正确

答案 3 :(得分:0)

您也可以在Powershell中使用最新版本的Windows 10 enable Bash shell,并使用$命令