2026-05-25 17:06:22 +08:00

38 lines
760 B
Docker

# 构建阶段
FROM docker.m.daocloud.io/golang:1.22-alpine AS builder
WORKDIR /app
# 设置 Go 代理(国内加速)
ENV GOPROXY=https://goproxy.cn,direct
# 复制源码
COPY . .
# 下载依赖并编译(静态链接,减小体积)
RUN go mod tidy && CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o agent .
# 运行阶段
FROM docker.m.daocloud.io/alpine:3.21
# 使用阿里云镜像源加速
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 安装 Docker CLI
RUN apk add --no-cache docker-cli ca-certificates tzdata
WORKDIR /app
# 从构建阶段复制二进制
COPY --from=builder /app/agent .
# 设置时区
ENV TZ=Asia/Shanghai
# 版本标识
ENV AGENT_VERSION=1.0.0
EXPOSE 9090
CMD ["./agent"]