file-system/Dockerfile

38 lines
769 B
Docker

# Build Stage - 使用预装 Go 的基础镜像
FROM 192.168.1.154:31010/docker/golang:1.24-alpine AS builder
WORKDIR /app
ENV GOPROXY=https://goproxy.cn,direct
ENV GOSUMDB=sum.golang.google.cn
# 复制依赖文件
COPY go.mod go.sum ./
RUN go mod download
# 复制源代码
COPY . .
# 编译 Go 应用
RUN go build -v -o server ./cmd/server
# Run Stage
FROM 192.168.1.154:31010/docker/alpine:latest
WORKDIR /app
RUN apk add --no-cache wget file
COPY --from=builder /app/server .
RUN chmod +x server
COPY --from=builder /app/web ./web
COPY --from=builder /app/docs ./docs
EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \
CMD wget --no-verbose --tries=1 --spider http://localhost:8080/web || exit 1
CMD ["./server"]