我擁有一臺 Mac M1,并在其上運行 Docker。在 OSX 上,Docker 可以運行原生 ARM 鏡像,但也可以模擬 x86/amd64 來運行不是為 ARM 構建的鏡像。
我的問題很簡單:從命令列,我試圖找到顯示影像平臺的命令 'docker image ls' 的擴展。
$ 泊塢窗影像 ls
存盤庫標簽 平臺 影像 ID 創建大小
................................arm64
............. .............x86
我已經看到了這個答案:How to filter Docker images by platform? 但它沒有回答這個問題。作業系統和平臺是兩個不同的東西。
謝謝
uj5u.com熱心網友回復:
這是你要找的嗎?
docker image inspect --format "{{.ID}} {{.RepoTags}} {{.Architecture}}" $(docker image ls -q)
輸出:
sha256:fb495265b81ffaa0d3bf8887231b954a1139b2e3d611c3ac3ddeaff72313909c [postgres:10.11-alpine] amd64
解釋:
$(docker image ls -q)→ 將所有影像 ID 作為引數傳遞給檢查命令docker image inspect列印有關影像的詳細資訊--format "{{.ID}} {{.RepoTags}} {{.Architecture}}"→只列印必要的資料而不是完整的 JSON
也可以添加管道grep,例如{inspect command} | egrep 'amd64$'僅列印amd64架構
uj5u.com熱心網友回復:
嘗試docker image結合jq:
docker image inspect $(docker images -q) | jq -r '.[] | select(.Architecture=="arm64").RepoTags[]'
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/484312.html
