From 4b5c9a658d899bc410cdc52582359e811c3791e7 Mon Sep 17 00:00:00 2001 From: DullJZ <79080562+DullJZ@users.noreply.github.com> Date: Wed, 24 Sep 2025 14:24:49 +0800 Subject: [PATCH] Update Dockerfile to disable CGO --- deploy/docker/Dockerfile | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/deploy/docker/Dockerfile b/deploy/docker/Dockerfile index e4b463e..0e81c9c 100644 --- a/deploy/docker/Dockerfile +++ b/deploy/docker/Dockerfile @@ -1,8 +1,9 @@ # 多阶段构建用于减小镜像大小 FROM golang:1.24-alpine AS builder -# 安装构建依赖(包括CGO支持的sqlite3) -RUN apk add --no-cache gcc musl-dev sqlite-dev git ca-certificates tzdata +# 安装构建依赖 +# 注意:不再需要 gcc, musl-dev, sqlite-dev,因为使用 modernc.org/sqlite 纯Go驱动 +RUN apk add --no-cache git ca-certificates tzdata # 设置工作目录 WORKDIR /build @@ -14,17 +15,18 @@ RUN go mod download && go mod tidy # 复制源码 COPY . . -# 构建应用(启用CGO) -RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build \ +# 构建应用 +# CGO_ENABLED=0: 禁用CGO,使用纯Go SQLite驱动 (modernc.org/sqlite) +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \ -ldflags="-w -s -X main.version=$(git describe --tags --always)" \ -o s3-balance \ cmd/s3-balance/main.go -# 运行时镜像 +# 运行时镜像 - 使用轻量级Alpine Linux FROM alpine:latest -# 安装运行时依赖(包括sqlite库) -RUN apk --no-cache add ca-certificates tzdata sqlite-libs +# 安装运行时依赖 +RUN apk --no-cache add ca-certificates tzdata # 设置时区 ENV TZ=Asia/Shanghai