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 <noreply@anthropic.com>
This commit is contained in:
@@ -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"]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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"]
|
||||
|
||||
Reference in New Issue
Block a user