我拥有一台 Mac M1,我在上面运行 Docker。
在 OSX 上,Docker 可以运行本机 ARM 映像,但也可以模拟 x86/amd64 来运行不是为 ARM 构建的映像。
我的问题很简单:从命令行,我试图找到显示图像的命令“docker image ls”的扩展platform.
$ docker 镜像 ls
存储库标签PLATFORM图像 ID 创建尺寸
................................arm64
......................x86
我已经看到这个答案了:如何按平台过滤 Docker 镜像? https://stackoverflow.com/questions/52870431/how-to-filter-docker-images-by-platform但它没有回答问题。操作系统和平台是两个不同的东西。
谢谢
这是您要找的吗?
docker image inspect --format "{{.ID}} {{.RepoTags}} {{.Architecture}}" $(docker image ls -q)
output:
sha256:fb495265b81ffaa0d3bf8887231b954a1139b2e3d611c3ac3ddeaff72313909c [postgres:10.11-alpine] amd64
解释:
-
$(docker image ls -q)
→ 将所有图像 ID 作为参数传递给检查命令
-
docker image inspect
print detailed info about image
-
--format "{{.ID}} {{.RepoTags}} {{.Architecture}}"
→ 只打印必要的数据 https://docs.docker.com/config/formatting/而不是完整的 JSON
也可以添加管道grep
, like {inspect command} | egrep 'amd64$'
仅打印amd64
例如建筑
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)