075a8bf40b
- 新增 .env.example 和 .gitignore - config.go 使用 godotenv 加载 .env,移除硬编码凭据 - docker-compose.yml 改用 env_file 引用 .env - Dockerfile 使用国内镜像源 + 缓存加速构建 - README.md Hook URL 改为服务器地址,配置说明更新
34 lines
841 B
Docker
34 lines
841 B
Docker
FROM golang:1.22-alpine AS builder
|
|
|
|
# 使用国内镜像源加速 apk
|
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
|
|
|
# 设置 Go 模块代理和国内镜像
|
|
ENV GOPROXY=https://goproxy.cn,direct
|
|
ENV GO111MODULE=on
|
|
|
|
WORKDIR /app
|
|
|
|
# 先复制依赖文件,利用 Docker 缓存层
|
|
COPY go.mod go.sum ./
|
|
RUN --mount=type=cache,target=/go/pkg/mod \
|
|
go mod download
|
|
|
|
# 复制源码并构建
|
|
COPY *.go ./
|
|
RUN --mount=type=cache,target=/go/pkg/mod \
|
|
--mount=type=cache,target=/root/.cache/go-build \
|
|
go build -o cc-hook .
|
|
|
|
# 运行阶段
|
|
FROM alpine:latest
|
|
|
|
# 运行阶段也使用国内镜像源
|
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
|
|
&& apk --no-cache add ca-certificates
|
|
|
|
COPY --from=builder /app/cc-hook /usr/local/bin/
|
|
|
|
EXPOSE 8082
|
|
CMD ["cc-hook"]
|