Dockerfile 618 B

1234567891011121314151617181920212223242526272829303132333435
  1. # 第一阶段: 构建阶段
  2. FROM golang:1.20-alpine AS builder
  3. # 设置工作目录
  4. WORKDIR /app
  5. # 复制 go.mod 和 go.sum 文件
  6. COPY go.mod go.sum ./
  7. # 下载依赖
  8. RUN go mod download
  9. # 复制源代码
  10. COPY . .
  11. # 构建 Go 应用程序
  12. RUN go build -o myapp .
  13. # 第二阶段: 运行阶段
  14. FROM alpine:latest
  15. # 设置工作目录
  16. WORKDIR /root/
  17. # 复制从构建阶段生成的可执行文件到运行阶段
  18. COPY --from=builder /app/myapp .
  19. # 复制静态文件到运行阶段
  20. COPY --from=builder /app/static ./static
  21. # 公开服务端口 (如果需要)
  22. EXPOSE 8800
  23. # 运行应用程序
  24. CMD ["./myapp"]