Files
cc-hook/Dockerfile
T
wonder 075a8bf40b feat: 引入 godotenv 管理环境变量,优化 Dockerfile 构建
- 新增 .env.example 和 .gitignore
- config.go 使用 godotenv 加载 .env,移除硬编码凭据
- docker-compose.yml 改用 env_file 引用 .env
- Dockerfile 使用国内镜像源 + 缓存加速构建
- README.md Hook URL 改为服务器地址,配置说明更新
2026-06-21 22:01:38 +08:00

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"]