2016-10-17 20 views

Trả lời

10

Hãy thử như sau:

docker rmi $(docker images |grep 'imagename') 
+1

hiện tại của Docker hỗ trợ này (không grep): Docker rmi $ ('imagename' Docker hình ảnh) – Charlie

+0

Phiên bản hiện tại của Docker dường như để hỗ trợ này - có lẽ tôi đang thiếu cái gì? - docker rmi 'imagename' – Charlie

+2

@Charlie Tôi nghĩ hầu hết mọi người đang tìm kiếm một cách để phù hợp với tất cả các hình ảnh khớp với '* imagename *' thay vì một hình ảnh có tên chính xác là 'imagename'. – RJFalconer

11

Hơi chính xác hơn phiên bản - chỉ grepping vào tên kho:

docker rmi $(docker images --format '{{.Repository}}' | grep 'imagename') 
+3

Điều này chỉ được coi là câu trả lời đúng – Gajotres

+6

điều này chỉ xóa hình ảnh được gắn thẻ là mới nhất 'docker rmi $ (hình ảnh docker --format' {{.Repository}}: {{. Tag}} '| grep' imagename ') ' – Drew

0

Tôi cũng có một câu trả lời ngắn gọn khác. Thay đổi duy nhất là xóa cờ -I {} không cần thiết.

docker images | grep 'imagename' | xargs docker rmi

0
docker rmi `docker images | awk '$1 ~ /imageName/ {print $3}'` 

này sẽ loại bỏ tất cả các hình ảnh theo tên "imageName". Trong một số trường hợp, điều này có thể gây ra lỗi như "hình ảnh được tham chiếu trong một hoặc nhiều kho lưu trữ". Trong trường hợp đó, sử dụng lực xóa.

docker rmi -f `docker images | awk '$1 ~ /imageName/ {print $3}'` 

Một cách khác có thể là:

docker images | awk '{ OFS = ":" }$1 ~ /imageName/ {print $1,$2}' 
0

docker images thực sự sử dụng đối số đầu tiên là một tên hình ảnh để lọc cho. Không yêu cầu của grep và awk. Tùy chọn -q sẽ chỉ trả về các ID hình ảnh phù hợp có thể được cấp cho docker rmi.

phiên bản
docker rmi --force $(docker images -q imagename | uniq) 
Các vấn đề liên quan