YouChuKoffee/Dockerfile

39 lines
934 B
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 使用官方Go镜像作为构建环境
FROM golang:1.21.0 AS builder
# 设置环境变量的默认值
ENV SERVER=api
# 设置工作目录
WORKDIR /app
# 设置环境变量
ENV GOPROXY=https://goproxy.cn,direct
RUN go env -w GOPROXY=https://goproxy.cn,direct
# 复制项目源码
COPY . .
# 安装snow-core
RUN go get github.com/qit-team/snow-core/kernel/server@v0.1.28
# 安装go模块依赖
RUN go mod tidy
# 编译Go应用程序生成静态链接的二进制文件
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o server main.go
# 创建最终镜像用于运行编译后的Go程序
FROM alpine
WORKDIR /app
# 将编译好的二进制文件从构建阶段复制到运行阶段
COPY --from=builder /app/server /app/server
COPY --from=builder /app/.env /app/.env
RUN chmod +x /app/server
# 暴露容器的端口
EXPOSE 443 8083 8082
# 设置容器启动时运行的命令
ENTRYPOINT ["/app/server", "-a", "api"]