0

我使用docker for windows。当我试图通过这个命令来删除所有我的图像:Docker无法删除所有图像

docker rmi $(docker images -q) 

我在命令提示符下此错误信息:我在车窗的亲

+0

码头是哪个版本的?你可以通过运行'docker version'找到。还可以用'--quiet'替换'-q'参数。 –

回答

0

查找运行搬运工

unknown shorthand flag: 'q' in -q) 

在类似的issue。您使用的语法是特定于unix的docker rmi $(command)。这称为command substitution,可能不会在Windows中工作。

0

在windows中,你应该windows命令。

在PowerShell中,它会是这样的:

docker images -a -q | foreach-object { $i = $PSItem.ToString(); $cmd = "docker"; & $cmd "rmi" $i } 

泊坞窗图像-a -q

得到所有图片的ID(含中级) ,和

foreach-object {$ i = $ PSItem.ToString(); $ cmd =“docker”; & CMD $ “RMI” $ I}

删除它们一个接一个

+0

“'foreach-object'不被识别为内部或外部命令, 可操作的程序或批处理文件。”从命令行 – Lee

+0

您是否正在运行powershell? – evgenyl

0

这是一个bash shell语法这将在码头工人的Linux安装的工作。要在Windows上运行它,请尝试在Windows上安装bash shell并从该shell内运行它。 Windows命令提示符和PowerShell不会理解该语法。

1

语法是特定于unix的,因此您可以更改Windows的命令,并且需要在PowerShell或CMD中运行整个命令。

删除容器:

powershell "docker ps -a -q | foreach-object { $i = $PSItem.ToString(); $cmd = 'docker'; & $cmd 'rm' '-f' $i }" 

删除图片:

powershell "docker images -a -q | foreach-object { $i = $PSItem.ToString(); $cmd = 'docker'; & $cmd 'rmi' '-f' $i }"