feat: 增强Docker构建系统,支持多架构构建
- 为build-docker.sh添加架构特定构建支持 (amd64/arm64) - 始终使用Docker Buildx确保跨平台构建的一致性 - 添加构建缓存支持,使用.buildx-cache目录 - 更新Dockerfile使用平台感知基础镜像 (FROM --platform=$TARGETPLATFORM) - 改进push-docker.sh以支持架构特定标签 - 为构建脚本添加帮助选项 (-h) - 使用更严格的错误处理 (set -euo pipefail) - 更新.gitignore排除构建缓存 现在支持构建: - Apple Silicon本地开发 (arm64) - Linux服务器部署 (amd64) - 从任意机器进行跨平台构建
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
# ---------- Build stage ----------
|
||||
FROM --platform=$BUILDPLATFORM maven:3.9-eclipse-temurin-11 AS build
|
||||
FROM maven:3.9-eclipse-temurin-11 AS build
|
||||
WORKDIR /workspace
|
||||
|
||||
# Cache-friendly: copy POMs first
|
||||
@@ -20,7 +20,7 @@ COPY play-generator/src play-generator/src/
|
||||
RUN --mount=type=cache,target=/root/.m2 mvn -pl play-admin -am -B -DskipTests -T 1C clean package
|
||||
|
||||
# ---------- Runtime stage (multi-arch) ----------
|
||||
FROM eclipse-temurin:11-jre AS runtime
|
||||
FROM --platform=$TARGETPLATFORM eclipse-temurin:11-jre AS runtime
|
||||
# non-root
|
||||
RUN groupadd -g 1001 appgroup && useradd -u 1001 -g appgroup -m -s /usr/sbin/nologin appuser
|
||||
WORKDIR /app
|
||||
|
||||
Reference in New Issue
Block a user