Windows docker 命令行不能接受内部命令

Windows docker command line cannot accept inner commands

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

docker stop $(docker ps -q)

我得到:

unknown shorthand flag: 'q' in -q)

但是当运行宁:

docker ps -q

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

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

在 bash 上安装和 运行ning 命令

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

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

没有$符号,应该是正确的

我在 Windows 中使用了这个:

powershell docker stop $(docker ps -aq)

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