关于运维:助力信创使用建木快速构建多架构OCI镜像

43次阅读

共计 745 个字符,预计需要花费 2 分钟才能阅读完成。

起因

随着国产 cpu 的倒退以及苹果推出 m 芯片,越来越多的产品不得不思考本身对 arm 架构的兼容,前不久有个共事火急火燎找我说,“你有 arm 架构的服务器吗,软件须要做一个认证,须要部署在 arm 服务器上,但咱们的镜像都是 amd64 架构的,须要在 arm 服务器上从新构建一遍”,听了他的诉求后,我想了想,“尽管我没有 arm 的服务器,然而咱们能够试试建木”,于是咱们就探索起用建木编译 arm 架构镜像的办法。

节点介绍

建木的 docker_image_build 节点前不久新推出了 1.3.1 版本,通过 buildx 来反对构建不同 cpu 体系结构的镜像,只须要依据要求配置 platform 参数即可,不过,因为 buildx 自身的起因,该节点有以下应用限度:

  1. 因为 buildx 是 docker 在 19.03 版本中引入的个性,所以应用前需确保 worker 所在的 docker 版本 >=19.03;
  2. 应用 buildx 须要在 docker 服务端开启实验室个性,从 20.10 版本开始,Docker CLI 所有试验个性的命令均默认开启,无需再进行配置或设置零碎环境变量;
  3. buildx 通过在内核中应用 QEMU 仿真反对来进行多架构镜像构建,须要宿主机反对 qeum 并确保内核 >=4.8;
  4. 须要具备拜访 dockerhub 的条件以下载用于多平台镜像构建的模拟器,或自行下载后手动导入;
  5. 须要确保 base 的镜像反对指定的架构。

开始编译

准备就绪后,咱们开始了尝试,在建木上新建图形我的项目,抉择 git_clone 节点拉取我的项目文件后,调用 docker_image_build:1.3.1 节点来构建 amd64 和 arm64 的镜像。

后果

过程非常顺利,短短 2 分钟后流程便执行结束,共事拿到了镜像之后,连连竖起大拇指,我则趁机给他安利起了这北半球第二好用的 ci/cd 平台。

正文完
 0