支持双架构
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