在Azure DevOps管道中使用docker/buildx构建多架构映像



我们有一个用例,我们的目标是构建一个多架构映像,因为该映像将在树莓(arm)或我们的一台本地机器(甚至是虚拟机)中执行。最终目标是在Azure DevOps管道中运行映像创建。

这个想法是使用docker的buildx实验特性,这似乎是一个好主意。管道代理在内部网络中托管在Azure上的Ubuntu VM中运行管道。

然而,这方面存在一些问题。首先也是最重要的是,我们用来构建我们自己的映像的人工基础映像位于公司证书的后面,这导致在获取它们时出现一些问题。

命令如下:

docker buildx build --no-cache --platform linux/arm/v7,linux/arm64/v8,linux/amd64 ~/.docker/test/.

和结果,用"hello world"Dockerfile:

Dockerfile:1
--------------------
1 | >>> FROM company.private.registry/ubuntu:20.04
2 |
3 |     RUN echo 'we are running some # of cool things'
--------------------
error: failed to solve: company.private.registry/ubuntu:20.04: failed to do request: Head "https://company.private.registry/v2/ubuntu/manifests/20.04": x509: certificate signed by unknown authority

同时,docker build命令是拉图像没有问题,问题是只有当使用buildx

是否有人使用过多架构图像构建?是不是有什么我不该考虑的事?

Thanks in advance

来晚了,

linux/arm64/v8<—这可能是你的问题,我相信ArmV8的清单就是linux/arm64

Platforms: linux/arm64, linux/amd64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6<——buildx inspectArmV8上运行时的输出设备

相关内容

  • 没有找到相关文章

最新更新