Files
wechat_ipad_pro/Dockerfile

48 lines
1.0 KiB
Docker
Raw Normal View History

2026-02-17 13:06:23 +08:00
FROM golang:1.21-alpine AS builder
# 安装基本依赖
RUN apk add --no-cache gcc musl-dev git
# 设置工作目录
WORKDIR /app
# 设置GOPROXY以绕过GitHub认证问题
ENV GOPROXY=https://goproxy.cn,direct
ENV GO111MODULE=on
# 复制go.mod和go.sum文件
COPY go.mod go.sum ./
RUN go mod download || true
# 复制所有源代码
COPY . .
# 编译应用
RUN CGO_ENABLED=1 GOOS=linux go build -o wxserver .
# 第二阶段:运行阶段
FROM alpine:latest
# 安装必要的运行时依赖
RUN apk add --no-cache ca-certificates tzdata
# 设置时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone
# 创建必要的目录
RUN mkdir -p /app/assets /app/static/templates
# 从builder阶段复制编译好的二进制文件和必要的目录
COPY --from=builder /app/wxserver /app/
COPY --from=builder /app/assets/ /app/assets/
COPY --from=builder /app/static/ /app/static/
# 设置工作目录
WORKDIR /app
# 暴露HTTP服务端口
EXPOSE 5253
# 运行应用
CMD ["./wxserver"]