nerdctl - x893675/note Wiki

直接使用 containerd 进行多架构的镜像构建,命令行工具使用 nerdctl, 构建使用 buildkitd

环境

centos7 kernel-5.4 升级内核参考 centos升级内核

安装 nerdctl

可在 nerdctl release 下载最新版本,注意要下载 full 包

  1. wget https://github.com/containerd/nerdctl/releases/download/v0.23.0/nerdctl-full-0.23.0-linux-amd64.tar.gz
  2. `tar -xvf nerdctl-full-0.23.0-linux-amd64.tar.gz -C /usr/local/
  3. systemctl enable containerd --now

安装 buildkit qemu跨平台插件

nerdctl-full 中没有包含其他平台的 qemu 二进制文件,需要手动下载 buildkit 包,进行覆盖

  1. wget https://github.com/moby/buildkit/releases/download/v0.10.4/buildkit-v0.10.4.linux-amd64.tar.gz
  2. tar -xvf buildkit-v0.10.4.linux-amd64.tar.gz -C /usr/local/
  3. systemctl enable buildkit --now

安装跨平台仿真器

  1. nerdctl run --privileged --rm tonistiigi/binfmt --install all

多架构构建命令

nerdctl 基本所有自命令跟 docker 一致

eg: nerdctl build -t test:test -f Dockerfile . --platform "amd64,arm64"