@ -11,7 +11,7 @@ WORKDIR /app
|
|||||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
||||||
|
|
||||||
# 安装构建依赖 (包含CGO所需的gcc和sqlite3开发库)
|
# 安装构建依赖 (包含CGO所需的gcc和sqlite3开发库)
|
||||||
RUN apk add --no-cache git ca-certificates tzdata gcc musl-dev sqlite-dev
|
RUN apk add --no-cache git ca-certificates tzdata gcc musl-dev sqlite-dev build-base
|
||||||
|
|
||||||
# 配置 Go 模块代理
|
# 配置 Go 模块代理
|
||||||
ENV GOPROXY=https://goproxy.cn,direct
|
ENV GOPROXY=https://goproxy.cn,direct
|
||||||
@ -24,14 +24,17 @@ RUN go mod download
|
|||||||
# 复制源代码
|
# 复制源代码
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# 构建应用程序 (启用CGO支持SQLite,使用动态链接)
|
# 设置构建环境变量来修复Alpine下的SQLite问题
|
||||||
|
ENV CGO_CFLAGS="-D_LARGEFILE64_SOURCE"
|
||||||
|
|
||||||
|
# 构建应用程序 (修复Alpine下的SQLite编译问题)
|
||||||
RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build \
|
RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build \
|
||||||
-ldflags='-w -s' \
|
-ldflags='-w -s' \
|
||||||
-tags "sqlite_omit_load_extension" \
|
-tags "sqlite_omit_load_extension" \
|
||||||
-o photography-api \
|
-o photography-api \
|
||||||
./cmd/api/main.go
|
./cmd/api/main.go
|
||||||
|
|
||||||
# 构建迁移工具 (启用CGO支持SQLite,使用动态链接)
|
# 构建迁移工具 (修复Alpine下的SQLite编译问题)
|
||||||
RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build \
|
RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build \
|
||||||
-ldflags='-w -s' \
|
-ldflags='-w -s' \
|
||||||
-tags "sqlite_omit_load_extension" \
|
-tags "sqlite_omit_load_extension" \
|
||||||
|
|||||||
Reference in New Issue
Block a user