From 86a0cc696a3fa73383474835d673759f708c7d57 Mon Sep 17 00:00:00 2001 From: zhouyonggao <1971162852@qq.com> Date: Mon, 8 Dec 2025 17:45:25 +0800 Subject: [PATCH] =?UTF-8?q?refactor(deploy):=20=E7=AE=80=E5=8C=96Docker?= =?UTF-8?q?=E9=83=A8=E7=BD=B2=E9=85=8D=E7=BD=AE=E5=92=8C=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除多阶段构建和交叉编译配置,改为直接运行go程序 合并多个挂载卷为单个/app目录挂载 --- Dockerfile | 38 +++++++++++--------------------------- scripts/deploy_docker.sh | 4 +--- 2 files changed, 12 insertions(+), 30 deletions(-) mode change 100644 => 100755 scripts/deploy_docker.sh diff --git a/Dockerfile b/Dockerfile index 5f08a8b..d3223bc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,29 +1,13 @@ -FROM --platform=$BUILDPLATFORM golang:1.21-alpine AS build -ARG TARGETPLATFORM -ARG BUILDPLATFORM -ARG TARGETOS -ARG TARGETARCH -ARG TARGETVARIANT -ENV CGO_ENABLED=0 -ARG GOPROXY=https://goproxy.cn,direct -ENV GOPROXY=$GOPROXY -WORKDIR /app -RUN apk add --no-cache git -COPY server/ ./server/ -COPY web/ ./web/ -WORKDIR /app/server -# 解析平台并执行交叉编译;arm 平台根据 variant 设置 GOARM -RUN OS=${TARGETOS:-$(echo $TARGETPLATFORM | cut -d/ -f1)} \ - && ARCH=${TARGETARCH:-$(echo $TARGETPLATFORM | cut -d/ -f2)} \ - && VARIANT=${TARGETVARIANT:-$(echo $TARGETPLATFORM | cut -d/ -f3)} \ - && if [ "$ARCH" = "arm" ]; then export GOARM=$(echo "$VARIANT" | sed 's/^v//;s/[^0-9]//g'); else export GOARM=; fi \ - && go env -w GOPROXY=$GOPROXY \ - && GOOS=$OS GOARCH=$ARCH go build -trimpath -ldflags="-s -w" -o /app/bin/marketing-data-server ./cmd/server +FROM golang:1.21-alpine + +ENV CGO_ENABLED=0 +ENV GOPROXY=https://goproxy.cn,direct + +# 安装必要的工具 +RUN apk add --no-cache git tzdata bash curl + +WORKDIR /app/server -FROM alpine:3.19 -WORKDIR /app -COPY --from=build /app/bin/marketing-data-server /app/bin/marketing-data-server -COPY --from=build /app/web /app/web -RUN mkdir -p /app/storage/export EXPOSE 8077 -ENTRYPOINT ["/app/bin/marketing-data-server"] + +CMD ["go", "run", "cmd/server/main.go"] diff --git a/scripts/deploy_docker.sh b/scripts/deploy_docker.sh old mode 100644 new mode 100755 index 1e4b64f..f97ab11 --- a/scripts/deploy_docker.sh +++ b/scripts/deploy_docker.sh @@ -41,9 +41,7 @@ docker run -d \ --name "$CID_NAME" \ --restart unless-stopped \ -p "$PORT:8077" \ - -v "$ROOT_DIR/storage/export:/app/storage/export" \ - -v "$ROOT_DIR/log:/app/log" \ - -v "$CONFIG_PATH:/app/server/config.yaml:ro" \ + -v "$ROOT_DIR:/app" \ "$USE_IMAGE" echo "container: $CID_NAME image: $USE_IMAGE port: $PORT"