|
@@ -1,15 +1,15 @@
|
|
|
-# 使用官方的 Go 镜像作为构建阶段
|
|
|
+# 使用官方的 Go 镜像作为构建阶段 (带 CGO 支持)
|
|
|
FROM golang:1.23 AS builder
|
|
|
|
|
|
# 设置工作目录
|
|
|
WORKDIR /app
|
|
|
|
|
|
-# 设置 Go 模块代理
|
|
|
-ENV GOPROXY=https://goproxy.cn,direct
|
|
|
-
|
|
|
# 安装 SQLite 的开发依赖
|
|
|
RUN apt-get update && apt-get install -y gcc musl-dev sqlite3 libsqlite3-dev
|
|
|
|
|
|
+# 设置 Go 模块代理 (如果网络问题需要)
|
|
|
+ENV GOPROXY=https://goproxy.cn,direct
|
|
|
+
|
|
|
# 将 go.mod 和 go.sum 复制到容器中
|
|
|
COPY go.mod go.sum ./
|
|
|
|
|
@@ -19,14 +19,14 @@ RUN go mod download
|
|
|
# 将项目代码复制到容器中
|
|
|
COPY . .
|
|
|
|
|
|
-# 设置 CGO_ENABLED=0 和目标平台为 Linux,编译静态二进制文件
|
|
|
-RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o main cmd/main.go
|
|
|
+# 启用 CGO,并针对 Linux 平台编译二进制文件
|
|
|
+RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -o main cmd/main.go
|
|
|
|
|
|
# 使用轻量级的运行镜像
|
|
|
FROM alpine:latest
|
|
|
|
|
|
-# 安装必要的动态库
|
|
|
-RUN apk --no-cache add ca-certificates
|
|
|
+# 安装 SQLite 的运行时依赖
|
|
|
+RUN apk --no-cache add ca-certificates sqlite-libs
|
|
|
|
|
|
# 设置工作目录
|
|
|
WORKDIR /app
|