从 CLI 列出 Docker 个 ARM 映像

List Docker images for ARM from the CLI

我有一辆 Mac M1,我 运行 Docker 就在上面。 在 OSX 上,Docker 可以 运行 原生 ARM 图像,但也可以模拟 x86/amd64 到 运行 不是为 ARM 构建的图像。

我的问题很简单:在命令行中,我试图找到显示图像 platform.[=12= 的命令 'docker image ls' 的扩展]

$docker 图片 ls

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

我已经看到这个答案: 但它没有回答问题。 OS 和 PLATFORM 是两个不同的东西。

谢谢

尝试将 docker imagejq 结合起来:

docker image inspect $(docker images -q) | jq -r '.[] | select(.Architecture=="arm64").RepoTags[]'

这是您要找的吗?

docker image inspect --format "{{.ID}} {{.RepoTags}} {{.Architecture}}" $(docker image ls -q)

输出:

sha256:fb495265b81ffaa0d3bf8887231b954a1139b2e3d611c3ac3ddeaff72313909c [postgres:10.11-alpine] amd64

解释:

  • $(docker image ls -q) → 将所有图像 ID 作为参数传递给 inspect 命令
  • docker image inspect 打印图像的详细信息

也可以添加带有 grep 的管道,例如 {inspect command} | egrep 'amd64$' 仅打印 amd64 体系结构