我拥有一台 Mac M1,我在上面运行 Docker。在 OSX 上,Docker 可以运行本机 ARM 映像,但也可以模拟 x86/amd64 来运行不是为 ARM 构建的映像。
我的问题很简单:从命令行,我试图找到显示图像平台的命令“docker image ls”的扩展。
$ docker 镜像 ls
存储库标签 平台 图像 ID 创建大小
................................arm64
........................ ......x86
我已经看到这个答案:How to filter Docker images by platform? 但它没有回答问题。操作系统和平台是两个不同的东西。
谢谢
rzl*_*vmp 23
这是您要找的吗?
\ndocker image inspect --format "{{.ID}} {{.RepoTags}} {{.Architecture}}" $(docker image ls -q)\nRun Code Online (Sandbox Code Playgroud)\n输出:
\nsha256:fb495265b81ffaa0d3bf8887231b954a1139b2e3d611c3ac3ddeaff72313909c [postgres:10.11-alpine] amd64\nRun Code Online (Sandbox Code Playgroud)\n解释:
\n$(docker image ls -q)\xe2\x86\x92 将所有图像 ID 作为参数传递给检查命令docker image inspect打印有关图像的详细信息\n--format "{{.ID}} {{.RepoTags}} {{.Architecture}}"\xe2\x86\x92仅打印必要的数据而不是完整的 JSON还可以添加管道grep,例如仅{inspect command} | egrep \'amd64$\'打印建筑amd64
尝试docker image结合jq:
docker image inspect $(docker images -q) | jq -r '.[] | select(.Architecture=="arm64").RepoTags[]'
Run Code Online (Sandbox Code Playgroud)