From 09ac03b758840839e518b313569712d77461cccf Mon Sep 17 00:00:00 2001 From: Blizzard Date: Sat, 18 Jul 2026 16:03:45 +0800 Subject: [PATCH] =?UTF-8?q?perf(docker):=20=E4=BE=9D=E8=B5=96=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=85=A8=E9=83=A8=E6=8D=A2=E5=9B=BD=E5=86=85=E6=BA=90?= =?UTF-8?q?(=E5=86=85=E7=BD=91=E6=9E=84=E5=BB=BA=E6=8F=90=E9=80=9F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit go mod download 走默认 proxy.golang.org 内网极慢。四个 Dockerfile 统一换国内镜像: - Go: GOPROXY=https://goproxy.cn,direct(三个 Go 服务) - alpine: apk 源换 mirrors.aliyun.com(ca-certificates/tzdata) - pip: mcp-py 换清华 pypi 源 - npm: gateway admin 已在用 npmmirror(此前已有) Co-Authored-By: Claude Opus 4.8 --- sundynix-dispatcher/Dockerfile | 5 +++-- sundynix-gateway/Dockerfile | 5 +++-- sundynix-mcp-go/Dockerfile | 5 +++-- sundynix-mcp-py/Dockerfile | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/sundynix-dispatcher/Dockerfile b/sundynix-dispatcher/Dockerfile index c6575e5..7586ffa 100644 --- a/sundynix-dispatcher/Dockerfile +++ b/sundynix-dispatcher/Dockerfile @@ -5,7 +5,7 @@ WORKDIR /src COPY sundynix-shared/go.mod sundynix-shared/go.sum ./sundynix-shared/ COPY sundynix-dispatcher/go.mod sundynix-dispatcher/go.sum ./sundynix-dispatcher/ WORKDIR /src/sundynix-dispatcher -ENV GOWORK=off GOFLAGS=-mod=mod +ENV GOWORK=off GOFLAGS=-mod=mod GOPROXY=https://goproxy.cn,direct RUN go mod download WORKDIR /src COPY sundynix-shared/ ./sundynix-shared/ @@ -15,7 +15,8 @@ RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/dispatcher ./cmd/d # 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 +RUN sed -i 's#dl-cdn.alpinelinux.org#mirrors.aliyun.com#g' /etc/apk/repositories \ + && apk add --no-cache ca-certificates tzdata && adduser -D -u 10001 app USER app COPY --from=build /out/dispatcher /dispatcher ENTRYPOINT ["/dispatcher"] diff --git a/sundynix-gateway/Dockerfile b/sundynix-gateway/Dockerfile index 08da545..948ecd7 100644 --- a/sundynix-gateway/Dockerfile +++ b/sundynix-gateway/Dockerfile @@ -20,7 +20,7 @@ WORKDIR /src COPY sundynix-shared/go.mod sundynix-shared/go.sum ./sundynix-shared/ COPY sundynix-gateway/go.mod sundynix-gateway/go.sum ./sundynix-gateway/ WORKDIR /src/sundynix-gateway -ENV GOWORK=off GOFLAGS=-mod=mod +ENV GOWORK=off GOFLAGS=-mod=mod GOPROXY=https://goproxy.cn,direct RUN go mod download # 再拷源码编译 WORKDIR /src @@ -35,7 +35,8 @@ RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/gateway ./cmd/serv # 用 alpine 而非 gcr.io/distroless:内网 runner 连不上 gcr.io。二进制是 CGO_ENABLED=0 全静态, # alpine 足够;ca-certificates 供 TLS(LLM/MinIO),tzdata 供时区,非 root 用户跑。 FROM alpine:3.20 -RUN apk add --no-cache ca-certificates tzdata && adduser -D -u 10001 app +RUN sed -i 's#dl-cdn.alpinelinux.org#mirrors.aliyun.com#g' /etc/apk/repositories \ + && apk add --no-cache ca-certificates tzdata && adduser -D -u 10001 app USER app COPY --from=build /out/gateway /gateway EXPOSE 8080 diff --git a/sundynix-mcp-go/Dockerfile b/sundynix-mcp-go/Dockerfile index d618ee2..95b285a 100644 --- a/sundynix-mcp-go/Dockerfile +++ b/sundynix-mcp-go/Dockerfile @@ -5,7 +5,7 @@ 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 +ENV GOWORK=off GOFLAGS=-mod=mod GOPROXY=https://goproxy.cn,direct RUN go mod download WORKDIR /src COPY sundynix-shared/ ./sundynix-shared/ @@ -15,7 +15,8 @@ RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/mcp-go ./cmd/serve # 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 +RUN sed -i 's#dl-cdn.alpinelinux.org#mirrors.aliyun.com#g' /etc/apk/repositories \ + && 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"] diff --git a/sundynix-mcp-py/Dockerfile b/sundynix-mcp-py/Dockerfile index 2aced44..44c6830 100644 --- a/sundynix-mcp-py/Dockerfile +++ b/sundynix-mcp-py/Dockerfile @@ -6,5 +6,5 @@ WORKDIR /app # 先装依赖(利用层缓存) COPY pyproject.toml ./ COPY src/ ./src/ -RUN pip install --no-cache-dir . && rm -rf /root/.cache +RUN pip install --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple . && rm -rf /root/.cache ENTRYPOINT ["python", "-m", "sundynix_mcp_py.main"]