美文网首页
buildx 简介以及安装

buildx 简介以及安装

作者: cloudFans | 来源:发表于2022-04-07 15:15 被阅读0次

buildx 可用于在单个平台上实现,跨 CPU 架构编译。

buildx 实现 依赖 QEMU (开源的模拟器),支持多种cpu 架构,比如 ARM、Power-PC 和 RISC-V。

QEMU 可以模拟一个完整的操作系统(开销较大)。

QEMU还有一种用户态模式,基于 binfmt_misc 模拟目标硬件的用户空间,该模式可以创建轻量级的虚拟机(chroot 或者 容器)。通过该方式 提供多种平台的虚拟机,然后基于Dockerfile进行编译,平台不通,但Dockerfile是同一份。

小结:
buildx 会通过 QEMUbinfmt_misc 分别为 3 个不同的 CPU 架构(arm,arm64 和 amd64)构建 3 个不同的镜像。构建完成后,就会创建一个 manifest list,其中包含了指向这 3 个镜像的指针。

版本要求: Docker 19.03

比如我的x86_64环境, docker 恰好是 19.03


# uname -a
Linux control02 5.9.11-1.el7.elrepo.x86_64 #1 SMP Tue Nov 24 09:45:34 EST 2020 x86_64 x86_64 x86_64 GNU/Linux

# docker version
Client: Docker Engine - Community
 Version:           19.03.13
 API version:       1.40
 Go version:        go1.13.15
 Git commit:        4484c46d9d
 Built:             Wed Sep 16 17:03:45 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.13
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       4484c46d9d
  Built:            Wed Sep 16 17:02:21 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.3.7
  GitCommit:        8fba4e9a7d01810a393d5d25a3621dc101981175
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

centos 安装

选一个 buildx github 发布版本 安装即可
https://github.com/docker/buildx/releases/tag/v0.8.2


mkdir -vp ~/.docker/cli-plugins/
curl --silent -L "https://github.com/docker/buildx/releases/download/v0.8.2/buildx-v0.8.2.linux-amd64" > ~/.docker/cli-plugins/docker-buildx  
chmod a+x ~/.docker/cli-plugins/docker-buildx

参考: https://icloudnative.io/posts/multiarch-docker-with-buildx/

相关文章

网友评论

      本文标题:buildx 简介以及安装

      本文链接:https://www.haomeiwen.com/subject/mwsysrtx.html