Ver Fonte

feat:加上docker打包文件

lipan há 2 semanas atrás
pai
commit
5c5f5d8275
2 ficheiros alterados com 58 adições e 0 exclusões
  1. 25 0
      .dockerignore
  2. 33 0
      Dockerfile

+ 25 - 0
.dockerignore

@@ -0,0 +1,25 @@
+# git
+.git
+.gitignore
+
+# 本地构建缓存/工具目录(400M+,绝不能进构建上下文)
+.gocache/
+.gotmp/
+.claude/
+
+# 测试打包产物
+udeserver-test.tar
+
+# 测试与文档
+txt/
+test/
+*.md
+*.api
+
+# 本地产物
+*.exe
+*.out
+*.log
+
+# 前端源码(独立项目,不进镜像)
+ude/

+ 33 - 0
Dockerfile

@@ -0,0 +1,33 @@
+# IAMServer 多阶段构建
+# 构建阶段:golang 官方镜像编译 linux 静态二进制
+FROM golang:1.25 AS builder
+
+WORKDIR /app
+
+# go模块代理
+RUN go env -w GOPROXY=https://goproxy.cn,direct
+
+# 先拷贝依赖清单,利用 docker 层缓存加速重复构建
+COPY go.mod go.sum ./
+RUN go mod download
+
+# 拷贝源码并编译(CGO 关闭:全部依赖为纯 Go,静态链接可直接跑在精简基础镜像上)
+COPY . .
+RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o udeserver .
+
+# 运行阶段:alpine 精简镜像(带 ca-certificates:OTP/验签服务走 HTTPS 时需要;tzdata:日志时区)
+FROM alpine:3.20
+
+RUN apk add --no-cache ca-certificates tzdata \
+    && adduser -D -u 1000 app
+
+WORKDIR /app
+COPY --from=builder /app/udeserver .
+COPY --from=builder /app/etc/udeserver-api.yaml  .
+
+USER app
+
+# 9990 管理端 API;8443 免改造代理
+EXPOSE 9990 8443
+
+CMD ["./udeserver", "-c", "udeserver-api.yaml"]