Files
alibabacloud-eci/Dockerfile
D8D Developer 978489d190
All checks were successful
Virtual Kubelet Docker Build and Deploy / build-and-deploy (push) Successful in 2m33s
📦 build(Dockerfile): 优化构建配置并添加国内代理
- 在 builder 和 lint 阶段均添加 GOPROXY 环境变量以加速依赖下载
- 使用国内镜像源(goproxy.cn 和 mirrors.aliyun.com)提升构建速度
- 调整文件复制命令的格式以保持一致性
2026-01-02 03:15:07 +00:00

38 lines
1.4 KiB
Docker

ARG GOLANG_CI_LINT_VERSION
FROM registry-vpc.cn-beijing.aliyuncs.com/d8dcloud/go:1.23 as builder
ENV PATH /go/bin:/usr/local/go/bin:$PATH
ENV GOPATH /go
COPY . /go/src/github.com/virtual-kubelet/alibabacloud-eci
WORKDIR /go/src/github.com/virtual-kubelet/alibabacloud-eci
# 设置 Go 国内代理加速
RUN go env -w GOPROXY=https://goproxy.cn,https://mirrors.aliyun.com/goproxy/,direct
RUN make build
RUN cp bin/virtual-kubelet /usr/bin/virtual-kubelet
FROM registry-vpc.cn-beijing.aliyuncs.com/d8dcloud/golangci/golangci-lint:${GOLANG_CI_LINT_VERSION} as lint
WORKDIR /app
# 设置 Go 国内代理加速
RUN go env -w GOPROXY=https://goproxy.cn,https://mirrors.aliyun.com/goproxy/,direct
COPY go.mod ./
COPY go.sum ./
RUN \
--mount=type=cache,target=/root/.cache/go-build \
--mount=type=cache,target=/go/pkg/mod \
go mod download
COPY . .
ARG OUT_FORMAT
RUN \
--mount=type=cache,target=/root/.cache/go-build \
--mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/golangci-lint \
golangci-lint run -v --out-format="${OUT_FORMAT:-colored-line-number}"
FROM registry-vpc.cn-beijing.aliyuncs.com/d8dcloud/alpine:latest
COPY --from=builder /usr/bin/virtual-kubelet /usr/bin/virtual-kubelet
COPY --from=builder /etc/ssl/certs/ /etc/ssl/certs
RUN mkdir -p /root/.kube
ENTRYPOINT [ "/usr/bin/virtual-kubelet" ]
CMD [ "--help" ]