我正在运行一个JenkinsAlpine Linux AMD64
docker映像,我正在构建自己的映像,并希望添加对它的Linux/arm64
docker buildx支持,以便生成多平台映像,我不知道它应该如何工作。
当我检查受支持的平台时,我得到:
+ docker buildx ls
NAME/NODE DRIVER/ENDPOINT STATUS PLATFORMS
default * docker
default default running linux/amd64, linux/386
因为我在AMD64映像中。我读到我需要为此安装qemu,但我不知道Buildx如何识别它。
关于这一点,相关文档相对较少:https://docs.docker.com/buildx/working-with-buildx/
有人知道如何在linux/amd64映像中添加linux/arm64构建功能吗?
我现在看到的唯一解决方案是在实际的arm64系统上构建一个映像。
要使用buildx,请确保Docker运行时的版本至少为19.03。buildx在默认情况下与Docker捆绑在一起,但需要通过设置环境变量Docker_CLI_来启用。
export DOCKER_CLI_EXPERIMENTAL=enabled
如果你在Linux上,你需要设置binfmt_misc。这在大多数发行版中都很容易,但现在更容易了,因为您可以运行一个特权Docker容器来为您设置它。
docker run --rm --privileged docker/binfmt:66f9012c56a8316f9244ffd7622d7c21c1f6f28d
创建一个新的生成器,允许访问新的多架构功能:
docker buildx create --use --name multi-arch-builder
然后,您将能够使用以下内容构建容器:
docker buildx build --platform=[your target platform] ...
这是我在詹金斯管道上使用的设置。
相关留档:
我正在尝试从Apple M1 Macbook为x86平台的本机docker容器构建Quarkus 2.8.0,并将其部署在Linuxamd64 Portainer中。我能够构建本机映像,并在检查文件时 输出为: 然后我使用文件构建docker容器,并使用以下命令推送到我的本地注册表: 构建过程在没有错误或警告的情况下成功完成,当我在本地注册表中检查时,容器被创建。 当我试图用Portainer在我
目录结构: 我尝试以下配置但不起作用: 请问如何才能达到预期效果呢?
我试图用GNU C库稳定的2.5版本为RHEL5(Linux V2.6.18)构建Rust。 在运行Rust make时自动下载的Rust预构建的引导版本与glibc2.5不兼容--我得到以下错误。
问题内容: 我有一个Java应用程序的Maven构建,可以通过键入相同的命令在Linux或Windows上成功运行。 然而,使用Jenkinsfile方法设置此生成,在Linux上文件需要包含和Windows 。 如果在Windows上正确配置了路径和工具,则日志显示: 有没有办法让单个Jenkinsfile允许在两种环境中构建? 问题答案: 管道脚本可以包含常规代码,因此允许分支。您可以使用并根
我正在尝试从源代码处构建chromedriver,以便在selenium for Linux中使用。我使用这本手册https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md,但是如果我从google code站点下载,在没有任何错误的情况下构建我的chromedriver时,就会减
遵循下面的引导,在 Linux 上构建 Electron . Prerequisites Python 2.7.x. 一些发行版如 CentOS 仍然使用 Python 2.6.x ,所以或许需要 check 你的 Python 版本,使用 python -V. Node.js v0.12.x. 有很多方法来安装 Node. 可以从 Node.js下载原文件并且编译它 .也可以作为一个标准的用户在