33 lines
1.1 KiB
Bash
33 lines
1.1 KiB
Bash
|
|
#!/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"
|