#!/bin/bash # 多架构构建脚本 IMAGE_NAME="my-ocr-service" VERSION="v1.0" echo "开始构建多架构镜像..." # 创建并使用buildx构建器 docker buildx create --name multiarch-builder --use 2>/dev/null || docker buildx use multiarch-builder # 构建并推送多架构镜像(如果有registry) # docker buildx build --platform linux/amd64,linux/arm64 -t ${IMAGE_NAME}:${VERSION} --push . # 或者分别构建不同架构 echo "构建 AMD64 架构..." docker buildx build --platform linux/amd64 -t ${IMAGE_NAME}:${VERSION}-amd64 --load . echo "构建 ARM64 架构..." docker buildx build --platform linux/arm64 -f Dockerfile.arm -t ${IMAGE_NAME}:${VERSION}-arm64 --load . echo "构建完成!" echo "AMD64镜像: ${IMAGE_NAME}:${VERSION}-amd64" echo "ARM64镜像: ${IMAGE_NAME}:${VERSION}-arm64" # 保存镜像文件 echo "导出镜像文件..." docker save -o ${IMAGE_NAME}-${VERSION}-amd64.tar ${IMAGE_NAME}:${VERSION}-amd64 docker save -o ${IMAGE_NAME}-${VERSION}-arm64.tar ${IMAGE_NAME}:${VERSION}-arm64 echo "镜像文件已保存:" echo "- ${IMAGE_NAME}-${VERSION}-amd64.tar" echo "- ${IMAGE_NAME}-${VERSION}-arm64.tar"