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

Windows docker命令行无法接受内部命令,windows,docker,command-line,docker-for-windows,Windows,Docker,Command Line,Docker For Windows,我已安装windows docker,当我在命令行上运行此命令时: docker stop $(docker ps -q) 我得到: unknown shorthand flag: 'q' in -q) 但在跑步时: docker ps -q 一切都很好。有什么线索吗?$(子命令)是bash shell的语法(以及Linux上的许多其他命令shell)。如果尝试从Windows命令提示符运行此命令,则在运行命令的其余部分之前,它将无法正确展开,并且您将看到遇到的错误。尝试在bash for

我已安装windows docker,当我在命令行上运行此命令时:

docker stop $(docker ps -q)
我得到:

unknown shorthand flag: 'q' in -q)
但在跑步时:

docker ps -q

一切都很好。有什么线索吗?

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

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

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

它不包含$symbol,因此应该是正确的

我在Windows中使用了此选项:

powershell docker stop $(docker ps -aq)

您还可以在最新版本的Windows 10和中的Powershell中使用$command

尝试练习docker最新命令执行格式。使用docker--Help检查是否安装了docker工具箱?否,我已安装Windows for docker。并于本周更新至最新版本:Docker version 18.03.1-ce,build 9ee9f40。尝试此Docker容器停止$(Docker容器ls)结果:守护程序的错误响应:无此类容器:$(守护程序的Docker错误响应:无此类容器:守护程序的容器错误响应:无此类容器:ls)