如何列出arm64的Docker镜像?

问题描述 投票:0回答:2

我拥有一台 Mac M1,我在上面运行 Docker。 在 OSX 上,Docker 可以运行本机 ARM 映像,但也可以模拟 x86/amd64 来运行不是为 ARM 构建的映像。

从命令行中,如何找到显示图像platform的命令“docker image ls”的扩展?

$ docker image ls

REPOSITORY   TAG     **PLATFORM**  IMAGE ID   CREATED   SIZE  
.............................arm64  
.............................x86  

我已经看到这个答案:How to filter Docker images by platform?但它没有回答问题。操作系统和平台是两个不同的东西。

docker macos docker-image
2个回答
23
投票

这是您要找的吗?

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
    打印有关图像的详细信息

还可以使用

grep
添加管道,例如
{inspect command} | egrep 'amd64$'
仅打印
amd64
架构


6
投票

尝试将

docker image
jq
结合起来:

docker image inspect \
    $(docker images -q) \
    | jq -r '.[] | select(.Architecture=="arm64").RepoTags[]'
© www.soinside.com 2019 - 2024. All rights reserved.