命令:docker images
Usage: docker images [OPTIONS] [REPOSITORY[:TAG]] List images Options: -a, --all Show all images (default hides intermediate images)列出所有鏡像 --digests Show digests列出更詳細信息 -f, --filter filter Filter output based on conditions provided過濾
如:docker images -f dangling=true 可以把那些虛懸鏡像列出來
這類鏡像已經是沒用的了,可使用
$ docker rmi $(docker images -q -f dangling=true)
進行刪除
--format string Pretty-print images using a Go template --help Print usage --no-trunc Don't truncate output -q, --quiet Only show numeric IDs
列表包含了倉庫名、標簽、鏡像 ID、創建時間以及所占用的空間。 [root@iZ943kh74qgZ ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 36540f359ca3 4 weeks ago 193MB [root@iZ943kh74qgZ ~]# docker images --digests REPOSITORY TAG DIGEST IMAGE ID CREATED SIZE centos latest sha256:c1010e2fe2b635822d99a096b1f4184becf5d1c98707cbccae00be663a9b9131 36540f359ca3 4 weeks ago 193MB [root@iZ943kh74qgZ ~]# docker images -q 36540f359ca3
其它用法
根據倉庫名列出鏡像 $ docker images ubuntu REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 16.04 f753707788c5 4 weeks ago 127 MB ubuntu latest f753707788c5 4 weeks ago 127 MB ubuntu 14.04 1e0c3dd64ccd 4 weeks ago 188 MB 列出特定的某個鏡像,也就是說指定倉庫名和標簽 $ docker images ubuntu:16.04 REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 16.04 f753707788c5 4 weeks ago 127 MB 除此以外,docker images 還支持強大的過濾器參數 --filter,或者簡寫 -f。之前我們已經看到了使用過濾器來列出虛懸鏡像的用法,它還有更多的用法。比如,我們希望看到在 mongo:3.2 之后建立的鏡像,可以用下面的命令: $ docker images -f since=mongo:3.2 REPOSITORY TAG IMAGE ID CREATED SIZE redis latest 5f515359c7f8 5 days ago 183 MB nginx latest 05a60462f8ba 5 days ago 181 MB 想查看某個位置之前的鏡像也可以,只需要把 since 換成 before 即可。 此外,如果鏡像構建時,定義了 LABEL,還可以通過 LABEL 來過濾。 $ docker images -f label=com.example.version=0.1 ... 以特定格式顯示 默認情況下,docker images 會輸出一個完整的表格,但是我們並非所有時候都會需要這些內容。比如,剛才刪除虛懸鏡像的時候,我們需要利用 docker images 把所有的虛懸鏡像的 ID 列出來,然后才可以交給 docker rmi 命令作為參數來刪除指定的這些鏡像,這個時候就用到了 -q 參數。 $ docker images -q 5f515359c7f8 05a60462f8ba fe9198c04d62 00285df0df87 f753707788c5 f753707788c5 1e0c3dd64ccd --filter 配合 -q 產生出指定范圍的 ID 列表,然后送給另一個 docker 命令作為參數,從而針對這組實體成批的進行某種操作的做法在 Docker 命令行使用過程中非常常見,不僅僅是鏡像,將來我們會在各個命令中看到這類搭配以完成很強大的功能。因此每次在文檔看到過濾器后,可以多注意一下它們的用法。 另外一些時候,我們可能只是對表格的結構不滿意,希望自己組織列;或者不希望有標題,這樣方便其它程序解析結果等,這就用到了 Go 的模板語法。 比如,下面的命令會直接列出鏡像結果,並且只包含鏡像ID和倉庫名: $ docker images --format "{{.ID}}: {{.Repository}}" 5f515359c7f8: redis 05a60462f8ba: nginx fe9198c04d62: mongo 00285df0df87: <none> f753707788c5: ubuntu f753707788c5: ubuntu 1e0c3dd64ccd: ubuntu 或者打算以表格等距顯示,並且有標題行,和默認一樣,不過自己定義列: $ docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}" IMAGE ID REPOSITORY TAG 5f515359c7f8 redis latest 05a60462f8ba nginx latest fe9198c04d62 mongo 3.2 00285df0df87 <none> <none> f753707788c5 ubuntu 16.04 f753707788c5 ubuntu latest 1e0c3dd64ccd ubuntu 14.04