refactor(xcontrol-init): clean up Dockerfile build context

This commit is contained in:
Haitao Pan 2025-12-12 13:51:43 +08:00
parent b505c0dd00
commit 3722aa302d

View File

@ -5,30 +5,27 @@ FROM golang:1.25 AS builder
WORKDIR /workspace
# ------------------------------------------------------------
# 复制 account/rag-server 模块源码
# ------------------------------------------------------------
COPY ../account ./account
COPY ../rag-server ./rag-server
# ------------------------------------------------------------
# 下载依赖(仅 account 模块的依赖即可满足 createadmin
# ------------------------------------------------------------
COPY account/go.mod account/go.sum ./account/
RUN cd account && go mod download
# ------------------------------------------------------------
# 复制 account 模块源码(只复制一次更高效)
# ------------------------------------------------------------
COPY account ./account
# ------------------------------------------------------------
# 构建 createadmin 可执行文件
# ------------------------------------------------------------
RUN cd account && \
CGO_ENABLED=0 GOOS=linux go build -o /createadmin ./cmd/createadmin/main.go
RUN cd account && CGO_ENABLED=0 GOOS=linux go build -o /createadmin ./cmd/createadmin/main.go
# ============================================================
# Stage 2: Runtime Image
# 用于作为 Kubernetes Init Container 使用
# ============================================================
FROM debian:12-slim
FROM debian:13-slim
# ------------------------------------------------------------
# 安装 PostgreSQL 客户端、证书等最小运行依赖
@ -56,7 +53,7 @@ COPY --from=builder /createadmin /usr/local/bin/createadmin
# ------------------------------------------------------------
# 拷贝初始化脚本init-db.sh
# ------------------------------------------------------------
COPY xcontrol-init/scripts/init-db.sh /usr/local/bin/init-db.sh
COPY scripts/init-db.sh /usr/local/bin/init-db.sh
RUN chmod +x /usr/local/bin/init-db.sh
# ------------------------------------------------------------