小明的学习笔记

支持双架构

1 分钟阅读

支持双架构


docker run --rm --privileged registry.cn-shanghai.aliyuncs.com/hdbs/binfmt:amd64-latest --install arm64/all

检查

ls -l /proc/sys/fs/binfmt_misc/

docker buildx ls
迁移到私库(manifest)
# 不需要 docker pull,直接通过网络将多架构镜像原封不动复制到私服
skopeo copy --all \
  docker://docker.io/tonistiigi/binfmt:latest \
  docker://registry.cn-shanghai.aliyuncs.com/hdbs/binfmt:latest

打包多镜像

#!/bin/bash
set -e
echo "=== 1. 环境自检与 Builder 初始化 ==="

# 核心修改:增加 --driver-opt image=xxx 参数,强制使用私有阿里云镜像启动构建引擎
docker buildx create --name dchz_builder \
  --driver docker-container \
  --driver-opt image=registry.cn-shanghai.aliyuncs.com/hdbs/buildkit:buildx-stable-1 \
  --use || docker buildx use dchz_builder

# 唤醒并检查这台新的构建器
echo "正在启动 BuildKit 引擎,请稍候..."
docker buildx inspect --bootstrap

echo "=== 2. 开始双架构并行编译与推送 ==="
docker buildx build \
  --platform linux/amd64,linux/arm64 \
  -f serverScript/Dockerfile \
  -t registry.cn-shanghai.aliyuncs.com/hdbs/hulkbuster:dchz_con_web1.0 \
  --push .

echo "=== 3. 恭喜!双架构镜像打包并发布完成! ==="

检查

docker buildx imagetools inspect registry.cn-shanghai.aliyuncs.com/hdbs/hulkbuster:dchz_con_web1.0