Files
Quincy_admin/Dockerfile
2026-03-26 22:13:03 +08:00

51 lines
1.3 KiB
Docker
Raw Permalink 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.
# 使用 golang:1.25.0-alpine 作为基础镜像,并命名为 builder 阶段
FROM golang:1.25.0-alpine AS builder
# 设置工作目录为 /app
WORKDIR /app
# 创建日志/配置文件目录
RUN mkdir -p /home/app/quincy/login
# 复制 go.mod 和 go.sum 文件到工作目录
COPY go.mod go.sum ./
# 添加国内代理解决网络问题
ENV GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
# 下载 Go 依赖包
RUN go mod download
# 复制当前目录下所有文件到容器中
COPY . .
# 编译 Go 应用,禁用 CGO目标平台为 linux输出可执行文件 main
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .
# 使用 alpine:latest 作为基础镜像开始新的阶段
FROM alpine:latest
# 设置环境变量 TZ 为 Asia/Shanghai北京时间
ENV TZ=Asia/Shanghai
# 安装 ca-certificates 和 tzdata 包,用于证书验证和时区设置
RUN apk --no-cache add ca-certificates tzdata
# 设置本地时区文件为上海时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 设置时区配置文件内容为 Asia/Shanghai
RUN echo "Asia/Shanghai" > /etc/timezone
# 设置工作目录为 /root/
WORKDIR /root/
# 从 builder 阶段复制编译好的可执行文件 main 到当前镜像
COPY --from=builder /app/main .
# 声明暴露端口 8080
EXPOSE 8080
# 设置容器启动时执行的命令
CMD ["./main"]