# 使用官方的 Go 运行时作为基础镜像 FROM golang:latest AS builder ENV GO111MODULE=on \ CGO_ENABLED=0 \ GOOS=linux \ GOARCH=amd64 \ GOPROXY=https://goproxy.cn,direct # 设置工作目录 WORKDIR /app # 将当前目录下的所有文件复制到工作目录中 COPY . . # 构建可执行文件 RUN CGO_ENABLED=0 GOOS=linux go build -v -o app . # 使用一个更小的基础镜像来减小最终镜像的大小 FROM alpine:latest # 时区设置成当前时区 RUN apk add --no-cache tzdata ENV TZ="Asia/Shanghai" # 设置工作目录 WORKDIR /root/ # 从构建阶段复制可执行文件 COPY --from=builder /app/app . # 在容器目录 /root/ 创建一个目录 为config RUN mkdir conf . COPY --from=builder /app/conf/ ./conf/ COPY --from=builder /app/templates/ ./templates/ # 暴露端口 EXPOSE 8910 # 运行可执行文件 CMD ["./app"]