2d14245086
deploy-132 / deploy (push) Has been cancelled
128 的 runner 能拉 docker.io 但连不上 gcr.io(dial 443 i/o timeout),distroless 拉不到。 三个 Go 服务运行 stage 换 alpine:3.20 + ca-certificates(TLS 连 LLM/MinIO)+ tzdata + 非 root 用户。二进制 CGO_ENABLED=0 全静态,alpine 上直接跑;本地已验证构建+启动正常。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
22 lines
928 B
Docker
22 lines
928 B
Docker
# 第 5 层 Go I/O 型 MCP 工具(检索/入库/报告渲染等)。多阶段构建(上下文须为仓库根):
|
|
# docker build -f sundynix-mcp-go/Dockerfile -t sundynix/mcp-go .
|
|
FROM golang:1.25-alpine AS build
|
|
WORKDIR /src
|
|
COPY sundynix-shared/go.mod sundynix-shared/go.sum ./sundynix-shared/
|
|
COPY sundynix-mcp-go/go.mod sundynix-mcp-go/go.sum ./sundynix-mcp-go/
|
|
WORKDIR /src/sundynix-mcp-go
|
|
ENV GOWORK=off GOFLAGS=-mod=mod
|
|
RUN go mod download
|
|
WORKDIR /src
|
|
COPY sundynix-shared/ ./sundynix-shared/
|
|
COPY sundynix-mcp-go/ ./sundynix-mcp-go/
|
|
WORKDIR /src/sundynix-mcp-go
|
|
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/mcp-go ./cmd/server
|
|
|
|
# alpine 运行(内网 runner 连不上 gcr.io;二进制 CGO_ENABLED=0 全静态,ca-certs 供 TLS)。
|
|
FROM alpine:3.20
|
|
RUN apk add --no-cache ca-certificates tzdata && adduser -D -u 10001 app
|
|
USER app
|
|
COPY --from=build /out/mcp-go /mcp-go
|
|
ENTRYPOINT ["/mcp-go"]
|