← ClaudeAtlas

base-cn-registry-mirror-strategylisted

国内镜像源与代理分层策略(Docker / Debian / Alpine / Node / Python / Maven / Gradle / Go),用于 Dockerfile 与 CI 的可维护加速。
seed-forge/harness-ai-kit · ★ 22 · AI & Automation · score 74
Install: claude install-skill seed-forge/harness-ai-kit
# base-cn-registry-mirror-strategy ## 用途 在**中国大陆网络**或跨境不稳定场景下,为容器镜像与语言包拉取提供**一套可维护的分层策略**:先定「谁负责加速」(宿主机 Docker、CI 注入、`Dockerfile` 内显式换源),再按栈选用**可替换的默认候选 URL**,避免每次临时拼命令。 适用于: - 编写、审查或重构 `Dockerfile`、多阶段构建 - 配置 CI(含 Kaniko、BuildKit、自托管 Runner) - 与团队内 Nexus / Harbor 策略对齐前的**公共默认基线** ## 输入 - 基础镜像家族:Debian/Ubuntu 系、Alpine,或其它(需单独评估) - 语言与工具:Node/npm、Python/pip、Maven、Gradle、Go modules - 构建环境:本地、云 CI、是否允许访问外网公共镜像 - 组织是否提供:Docker Registry 镜像、PyPI/npm/Maven 代理、HTTP(S)_PROXY ## 输出 - **分层策略表**:每一层配置什么、何时用、与安全的边界 - **默认候选**:阿里云、清华 TUNA、中科大等可互换的「默认占位」,团队应收敛为单一事实源 - **可复制片段**:见 `references/REFERENCE-MIRROR-RECIPES.md` ## 核心原则(必读) 1. **单一事实源**:对外发布的 `Dockerfile` 里用 `ARG` 暴露镜像 URL,默认值可以指向公共镜像;团队内部在 CI 或 `docker build --build-arg` 中注入组织制品库地址,避免在仓库里硬编码易失效的第三方 URL 且无出口替换。 2. **公共镜像 ≠ 长期承诺**:域名、路径、同步延迟会变;本 skill 提供**维护节奏**(建议每季度巡检 + 出问题时切换 `ARG`),不保证某一第三方站点永久可用。 3. **合规优先**:若公司有「仅允许内网源」或审计要求,以安全与合规为准,本 skill 中的公共地址仅作开发/组织内部集群 基线参考。 4. **Docker Hub 与语言源解耦**:`docker pull` / `FROM` 慢,与 `apt`、`npm`、`pip` 慢是不同链路;**不要**只配一种就以为全覆盖。 5. **大依赖优先 Nexus 预热,而非仅 CN 公网镜像**:凡 Nexus 能承接的生态(pip、npm、Maven、Gradle、Go 等),若存在大体积或 CI 关键路径依赖,应建议 **Nexus group 统一入口 + hosted/manifest 预热**;仅把 `ARG` 改成 npmmirror / 阿里云 / goproxy.cn 仍可能很慢(公网 CDN、代理、镜像站滞后)。决策表与分生态清单见 `references/REFERENCE-NEXUS-ECOSYSTEM-PRELOAD.md`。 ## 分层策略 | 层级 | 解决什么问题 | 典型手段 | 备注 | |------|----------------|----------|------| | L0 宿主机 / Runner | `docker pull`、`FROM` 拉取慢 | `/etc/docker/daemon.json` 的 `registry-mirrors`;或企业内 Harbor 前置缓存 | 影响**构建机