1

我想为 AMD 和 ARM Graviton2 处理器构建 Docker 映像。我已经知道多架构 CLI 命令docker buildx build --platform linux/amd64,linux/arm64、清单以及 Docker 将提取正确的图像变体匹配架构的事实。

我想知道我是否必须在我的 Dockerfile for ARM 中作为父级arm64v8/ubuntu:20.04使用,或者两者都可以使用ubuntu:20.04?它会在两种架构上以相同的方式工作吗?这个官方arm64v8 dockerhub repo 的目的是什么?

构建时间存在显着差异 - 5 分钟与FROM ubuntu:20.0430 分钟FROM arm64v8/ubuntu:20.04

4

1 回答 1

0

好的,所以我发现这ubuntu:20.04和这arm64v8/ubuntu:20.04两个图像具有完全相同的 SHA。所以 Ubuntu:20.04 只是所有这些 per-arch 映像的父级,如果你运行docker manifest inspect ubuntu,你会看到一切。

因此很明显,arm64v8/ubuntu:20.04repo 仅适用于您想在不同架构上构建 ARM 映像的情况(如果您不想使用 multibuildbuildx命令)。在这种情况下,您必须开始使用FROM arm64v8/ubuntu:20.04.

于 2021-08-07T10:40:43.670 回答