我在Windows CMD中找到了有关管道命令的说明:
“管道”将程序或命令的输出重定向到第二个程序或命令。
语法:
Command1 | Command2
[Source](在最底部)
然而docker ps -aq | docker start
或任何类似的组合只会返回错误。
启动所有已停止的容器的唯一工作组合在PowerShell中工作。
docker start $(docker ps -a -q -f "status=exited")
答案 0 :(得分:4)
您可以pipe into docker containers(-i
),但不能将参数传递给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