从 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 image
与 jq
结合起来:
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
打印图像的详细信息
--format "{{.ID}} {{.RepoTags}} {{.Architecture}}"
→ print only necessary data 而不是完整的 JSON
也可以添加带有 grep
的管道,例如 {inspect command} | egrep 'amd64$'
仅打印 amd64
体系结构
我有一辆 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
我已经看到这个答案:
谢谢
尝试将 docker image
与 jq
结合起来:
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
打印图像的详细信息--format "{{.ID}} {{.RepoTags}} {{.Architecture}}"
→ print only necessary data 而不是完整的 JSON
也可以添加带有 grep
的管道,例如 {inspect command} | egrep 'amd64$'
仅打印 amd64
体系结构