【问题标题】:Windows cmd docker command pipingWindows cmd docker 命令管道
【发布时间】:2017-06-01 06:39:44
【问题描述】:

我在 Windows CMD 中找到了有关管道命令的说明:

“管道”将程序或命令的输出重定向到第二个程序或命令。

语法:

Command1 | Command2

[Source](在最底部)

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

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

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

【问题讨论】:

  • Powershell 与 cmd 不太一样。你到底得到了什么错误?
  • 是的,我明白我的大部分工作都是通过CMD完成的,每次我需要docker时打开powershell似乎很麻烦。我得到“dokcer start”需要至少 1 个参数。 -> 码头工人ps -aq |码头工人开始
  • 错误信息提示docker程序没有从stdin读取,必须明确指定命令行参数。

标签: windows powershell docker cmd


【解决方案1】:

您可以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

【讨论】:

  • PowerSheel 没问题 :) 我正在寻找 windows CMD 中的解决方案。
猜你喜欢
  • 2017-08-07
  • 1970-01-01
  • 1970-01-01
  • 2019-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-27
相关资源
最近更新 更多