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 }"