Windows cmd docker命令pipe道

我在Windows CMD中find了有关pipe道命令的说明:

“pipe道”将程序或命令的输出redirect到第二个程序或命令。

句法:

Command1 | Command2 

[ 来源 ](在最底部)

然而docker ps -aq | docker start docker ps -aq | docker start或任何类似的组合只是返回错误。

在PowerShell中启动所有停止的容器的唯一工作组合。

 docker start $(docker ps -a -q -f "status=exited") 

你可以pipe入docker容器 ( -i ),但是你不能将parameter passing给docker命令本身。

在PowerShell中,使用一个循环来启动一个停止的容器列表:

 docker ps -a -q -f "status=exited" | ForEach-Object { docker start $_ } 

在CMD中,使用一个循环来启动一个停止的容器列表:

 for /f "tokens=*" %i in ('docker ps -a -q -f "status=exited"') do docker start %i