0

나는 windows 용 도커를 사용하고 있습니다. 내가이 명령으로 내 이미지를 모두 제거 할 때 :Docker가 모든 이미지를 제거 할 수 없습니다.

unknown shorthand flag: 'q' in -q) 

내가 프로 윈도우 10

+0

도커의 버전은 무엇입니까? 'docker version'을 실행하면 알 수 있습니다. 또한'-q' 매개 변수를'--quiet'로 바꾸어보십시오. –

답변

0

봐에 고정 표시기를 실행 해요 :

docker rmi $(docker images -q) 

나는 명령 프롬프트에서이 오류 메시지를 받았습니다 비슷한 issue. 사용중인 구문은 유닉스 특정 docker rmi $(command)입니다. 이것은 command substitution라고하며 아마 창에서 작동하지 않습니다.

0

창에서 Windows 명령을 사용해야합니다.

고정 표시기 이미지

을 -q -a

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

가 (중간 포함)의 모든 이미지의 ID를 가져옵니다 PowerShell에서

, 그것은 같은 것을 수 있습니다 , 및

foreach-object {$ i = $ PSItem.ToString(); $ cmd = "도커"; & $ cmd를 "RMI"$ 내가}

그들에게 삭제 하나씩 리눅스가 고정 표시기의 설치 작업을 할 bash 쉘 구문의

+0

"foreach-object '는 내부 또는 외부 명령 인 작동 가능 프로그램 또는 배치 파일로 인식되지 않습니다."명령 줄 – Lee

+0

에서 powershell을 실행하고 있습니까? – evgenyl

0

. Windows에서 작동하게하려면 Windows에 bash 쉘을 설치하고 쉘에서 실행하십시오. Windows 명령 프롬프트와 powershell은 해당 구문을 이해하지 못합니다.

1

구문은 유닉스에만 해당하므로 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 }"