海外云服务器容器镜像仓库怎么选?AWS ECR、Google Artifact Registry、阿里云 ACR、腾讯云 TCR、GitHub Container Registry 与 Harbor 价格对比与省钱攻略(2026)

📅 · ChengziCloud - 一站式国际云开户与充值服务

一句话结论

Meta Description: 2026 海外云容器镜像仓库选型:AWS ECR、Google Artifact Registry、阿里云 ACR、腾讯云 TCR、GitHub Container Registry 与 Harbor 官方价格对比,300GB 镜像月账单 $0$146,附省钱攻略…

本文要点
  • 开头:三句话给结论
  • 先把「镜像仓库」拆成三层计费,否则比价必然比错
  • 六家官方价格逐项对比(2026 年 10 月实取)
  • 三个真实场景的月账单(示意算例)
  • 省钱的六个杠杆(每条都带算法)
  • Harbor 自建到底划不划算?算一笔临界点
  • 选型结论:按你的技术栈对号入座
  • 和三篇站内文章的边界

Meta Description: 2026 海外云容器镜像仓库选型:AWS ECR、Google Artifact Registry、阿里云 ACR、腾讯云 TCR、GitHub Container Registry 与 Harbor 官方价格对比,300GB 镜像月账单 $0~$146,附省钱攻略。

关键词:海外云服务器、容器镜像仓库、Docker Registry、AWS ECR、Google Artifact Registry、阿里云 ACR、腾讯云 TCR、GitHub Container Registry、GHCR、Harbor 自建、镜像存储费、跨区拉取流量费、镜像清理、生命周期策略、省钱攻略

开头:三句话给结论

第一,镜像仓库的账单几乎从来不是「存储费」撑起来的。AWS ECR 私有仓库存储 $0.10/GB/月、Google Artifact Registry 约 $0.10/GiB/月、GitHub Container Registry 目前镜像存储与带宽全免费——300 GB 镜像在 ECR 上一个月只要 $30。真正让账单翻倍的是跨区/出公网拉取(AWS 跨区 $0.09/GB,拉 1 TB 就是 $92)和按实例小时计费的托管版(腾讯云 TCR 企业版香港基础规格 $0.20/小时 ≈ $146/月,还没算 COS 存储和流量)。

第二,三家厂商的计价锚点根本不是一回事,所以「谁便宜」这个问题必须先换算。AWS / Google / GitHub 按 GB 存储 + 流量;阿里云 ACR 企业版、腾讯云 TCR 企业版按实例规格包年包月/按小时(底层再转嫁给 OSS / COS);Docker Hub 按人月席位 + 拉取次数。把「$0.20/小时」和「$0.10/GB/月」放在一张表里比大小是没意义的——$146/月 相当于 1,460 GB 的 ECR 存储,这才是可比的换算方式。

第三,省钱只有六个真杠杆:① 生命周期策略清理旧 tag(最常见的一刀砍掉 60% 存储);② 让拉取发生在同区域(五家里四家同区拉取 $0);③ 跨区用「同步/复制」而不是「客户端跨区拉」(中国两家同步免流量费,AWS 按 $0.09/GB 收);④ 基础镜像走公开库;⑤ 镜像总量低于约 1.4 TB 时别买企业版实例;⑥ 别把 CI 缓存和镜像仓库混在一起算配额。 把这六条对上号,同一个项目在六家里的月账单能差 $0 到 $146。

一、先把「镜像仓库」拆成三层计费,否则比价必然比错

容器镜像仓库看着简单——推上去、拉下来。但厂商在这条链路上埋了三类完全不同的计费项,混在一起就会得出「腾讯云比 AWS 贵 5 倍」这种错结论。

第一层:存储。 镜像按层(layer)存,同一层被多个 tag 共享时只算一次。ECR 与 Artifact Registry 是按 GB/月明码标价;阿里云 ACR 企业版与腾讯云 TCR 企业版自己不收存储费,而是把镜像落在你账号下的 OSS / COS 桶里,按对象存储的价格收——所以这两家的存储成本要去看 OSS/COS 的定价页,而不是镜像仓库的定价页。这是国内云与国际云在产品设计上最根本的差别:国际云卖「注册表」,国内云卖「控制面」,数据面你自己买单。

第二层:拉取流量。 这是账单的真正大头,也是各家规则差异最大的地方:

  • 同区域、走内网拉取:五家里四家免费。 ECR 与同区域 EC2/Lambda/Fargate 之间 $0.00/GB;Artifact Registry 同 location 内 $0.00;阿里云 ACR 关闭公网访问、仅走 VPC 域名拉取时不产生 OSS 外网流出费;腾讯云 TCR 走内网不产生 COS 公网流量费。
  • 跨区域拉取:AWS 收 $0.09/GB,Google 收 $0.01~$0.05/GiB。 差 2~9 倍。
  • 出公网(本地机器、其他云、CI 在办公室):按各家的公网出流量价收。 AWS 第一档 $0.09/GB(每月 100 GB 免费额度,全账号全球累计);腾讯云香港/新加坡 $0.12 / $0.081;Google 按 Premium 网络层级的公网出流量价计费。

第三层:控制面(实例 / 席位)。 腾讯云 TCR 企业版按实例规格 × 小时收费;阿里云 ACR 企业版按实例规格包年包月;Docker Hub 按人月席位收。这一层跟你存了多少镜像完全无关——空了也要付,这也是最容易被忽略的固定成本。


镜像仓库成本 = 存储(GB/月) + 拉取流量(GB) + 控制面(实例/席位)
                ↑              ↑              ↑
          ECR/GAR 明码    同区多为 $0      TCR $0.20/h
          ACR/TCR 转嫁    跨区 $0.01~0.09  ACR 包年包月
          到 OSS/COS      出公网 $0.09~0.12 Docker Hub $9~24/人

记住这张拆解图,下面所有价格才有可比性。

二、六家官方价格逐项对比(2026 年 10 月实取)

2.1 存储与控制面:三套计价锚点

厂商 / 产品存储单价免费额度控制面(实例 / 席位)计价锚点
AWS ECR(私有)$0.10/GB/月新用户 500 MB/月,12 个月无实例费纯按量
AWS ECR(公开)50 GB/月永久免费50 GB/月无实例费纯按量
Google Artifact Registry约 $0.10/GiB/月($0.000136986/GiB·小时)0.5 GiB/月(按账单账号合并计算)无实例费纯按量
阿里云 ACR 个人版免费(公测)全免费,含拉取推送无免费但无 SLA
阿里云 ACR 企业版落 OSS 桶,按 OSS 存储价—包年包月,按规格(购买页报价)实例 + OSS
腾讯云 TCR 个人版免费额度有限有免费配额无免费但无 SLA
腾讯云 TCR 企业版落 COS 桶,按 COS 存储价—按小时:香港/新加坡 基础 $0.20 / 标准 $0.38 / 高级 $0.70实例 + COS
GitHub Container Registry目前免费镜像存储与带宽均免费无实例费免费(政策可变)
Docker Hub随席位含配额Personal $0 档有配额Pro $11/月(年付 $9)、Team $16/月(年付 $15)、Business $24/月席位 + 拉取次数
Harbor(自建)你的块存储/对象存储价—你的服务器月租全自付 + 运维

三个必须注意的口径细节:

① ECR 的公开仓库和私有仓库是两套免费额度。 私有仓库新用户只有 500 MB/月、为期 12 个月;公开仓库是 50 GB/月永久免费,并且匿名拉取 500 GB/月、带 AWS 账号认证拉取 5 TB/月出公网免费。如果你的镜像本来就要公开(开源项目、公开基础镜像),放 ECR Public 等于白拿 50 GB 存储 + 5 TB 出网——这是全文最容易被漏掉的一笔钱。

② Artifact Registry 的免费额度是按「账单账号」合并算的,不是按项目。 官方原文明确:一个账单账号下挂多个项目跑 Artifact Registry,0.5 GiB 的免费额度是这些项目的总量,不是每个项目 0.5 GiB。多项目团队按「每项目 0.5 GiB」估算会算错。

③ 腾讯云 TCR 企业版的价格按地域分四档,差异接近 40%。 中国大陆六城基础版 $0.14/小时、香港/台北与亚太(新加坡/首尔/东京/孟买/曼谷/雅加达)$0.20/小时、欧洲与北美(硅谷/弗吉尼亚/法兰克福)$0.28/小时。同样的规格,把实例放在香港比放在硅谷每月省 $58($0.20 vs $0.28 折月差 ≈ $58.4)。做海外业务时「仓库放哪个 region」本身就是一道省钱选择题。

2.2 拉取流量:同区免费、跨区与出公网才是账单

场景AWS ECRGoogle Artifact Registry阿里云 ACR腾讯云 TCR
同区域内网拉取$0.00/GB$0.00/GiB(同 location)$0(关闭公网、走 VPC 域名)$0(内网,无 COS 公网流量)
跨区域拉取$0.09/GB美加 $0.01、欧洲 $0.02、亚洲 $0.05 /GiB走实例同步,同步本身不计 OSS 流量走实例同步,同步不计 COS 公网流量
出公网拉取$0.09/GB(首 10 TB 档,月 100 GB 免费)按 Premium 层级公网出流量价OSS 外网流出价COS 公网流量价(香港 $0.12、新加坡 $0.081)
入方向(推镜像)$0.00/GB$0.00免费免费

读这张表要抓住一个反直觉结论:「跨区拉取」和「跨区同步」在账单上是两件事。 AWS 的做法是复制(replication)和跨区拉取都按 $0.09/GB 收数据费;而阿里云 ACR 企业版与腾讯云 TCR 企业版的多地域实例同步明确不收 OSS/COS 流量费——代价是你得在每个地域各买一个实例。所以跨区流量在 1 TB/月 以下时,AWS 的「按 GB 复制」更便宜;超过约 1.6 TB/月,中国两家的「多买一个实例 + 同步免费」才开始划算($146 ÷ $0.09 ≈ 1,622 GB,这是香港基础版实例与 ECR 跨区单价的平衡点)。

2.3 镜像扫描与配额加购:容易被漏掉的第二张账单

项目官方价格说明
阿里云 ACR 增强安全扫描800 元/月每月 1 万个不同 Digest 内扫描,同一 Digest 重复扫描不限次
阿里云 ACR 命名空间增量25 元/月 / 每 5 个规格内配额不够时加购
阿里云 ACR 仓库增量100 元/月 / 每 1,000 个同上
阿里云 ACR 专有网络配额72 元/月 / 每个同上
ECR 镜像扫描分两档:基础扫描(推送时扫 OS 漏洞)、增强扫描(接 Amazon Inspector,持续扫 OS + 语言包)增强扫描的单价在 Amazon Inspector 定价页,不在 ECR 定价页
GAR 漏洞扫描随 Artifact Analysis 计费按扫描量与存储计

这里的坑是:阿里云 ACR 的增强扫描 800 元/月 ≈ $112/月,比很多团队的镜像存储费还高。如果你的合规要求只是「CI 里跑一次 Trivy」,这 800 元完全可以不花——把扫描放进流水线,用开源扫描器出报告,成本是零。反过来,如果要求「持续扫描 + 自动修复 + 控制台出合规报表」,那这笔钱省不掉。先问清楚要的是「扫一次」还是「一直扫」,再决定要不要买。

三、三个真实场景的月账单(示意算例)

下面三个场景都用同一套假设,方便横向对比。所有数字为本文按官方单价自行折算的示意算例,不是厂商报价。

场景 A:中型团队的内部仓库。 50 个私有仓库、镜像总量 300 GB、每月拉取 2 TB 且全部发生在同区域、无跨区、无公网拉取。

方案存储拉取流量控制面月合计
AWS ECR 私有300 × $0.10 = $30同区 $0$0$30
Google Artifact Registry299.5 × $0.10 ≈ $29.95同 location $0$0≈$30
阿里云 ACR 个人版免费免费$0$0(无 SLA)
腾讯云 TCR 企业版(香港基础)COS 另计内网 $0$0.20 × 730 = $146$146 + COS
GitHub Container Registry免费免费$0$0
Harbor 自建(2 核 4G)300 GB 云盘另计内网 $0服务器月租约 $36~$60 + 运维

这一个场景就把定价锚点的差别说透了:同样的 300 GB 镜像,最省的是 $0,最贵的是 $146+。 差价的来源不是存储单价,而是你有没有为「控制面」付一份跟用量无关的固定月租。

场景 B:跨区部署(镜像要同步到第二个区域,1 TB/月)。

方案跨区方式月成本
AWS ECRCross-Region Replication,按源区域出流量 $0.09/GB1,024 × $0.09 ≈ $92
Google Artifact Registry跨 location 传输:亚洲 $0.05/GiB1,024 × $0.05 ≈ $51
阿里云 ACR 企业版多地域实例同步,同步不计 OSS 流量费两个实例的包年包月费
腾讯云 TCR 企业版实例同步,不计 COS 公网流量费两个实例费:香港基础 2 × $146 = $292

结论很有意思:中国两家「同步免流量」,但要为每个地域各买一个实例;跨区量在 1.6 TB/月 以下时,AWS 的按 GB 收费反而更便宜($146 ÷ $0.09 ≈ 1,622 GB)。如果你每月跨区不到 1.6 TB,别被「免流量费」三个字骗去多买一个实例。

场景 C:镜像要出公网(本地开发机、办公室 CI、别的云)。 1 TB/月:

方案单价月成本(扣免费额度后)
AWS ECR$0.09/GB,账号级 100 GB/月免费(1,024 − 100) × $0.09 ≈ $83
腾讯云 COS(香港)$0.12/GB1,024 × $0.12 ≈ $123
Google Artifact RegistryPremium 层级公网价按 Network Tiers 定价页折算
GitHub Container Registry目前免费$0

出公网是六家里差距最大的一项($0 vs $123)。 这也是为什么很多团队把「CI 从 GitHub Actions 拉镜像」这件事放在 GHCR 上做——拉取发生在公网,而 GHCR 目前对容器镜像的带宽不收费,官方文档明确写着「容器镜像的存储与带宽目前免费,如政策变更会提前至少一个月通知」。这句话的另一面是:它是一个「随时可能变」的免费,不能作为长期架构的唯一依赖。

四、省钱的六个杠杆(每条都带算法)

4.1 生命周期策略:最先该做、收益最大的一刀

镜像仓库的钱 90% 花在「你以为删了但其实没删」的 tag 上。CI 每次构建都推一个 tag,一年就是几百上千个,而绝大多数团队从来没配过清理规则。ECR 的生命周期策略可以直接把「只保留最近 N 个」写进仓库:


{
  "rules": [
    {
      "rulePriority": 1,
      "description": "expire untagged images after 7 days",
      "selection": {
        "tagStatus": "untagged",
        "countType": "sinceImagePushed",
        "countUnit": "days",
        "countNumber": 7
      },
      "action": { "type": "expire" }
    },
    {
      "rulePriority": 2,
      "description": "keep only the latest 10 tagged images",
      "selection": {
        "tagStatus": "tagged",
        "tagPrefixList": ["v"],
        "countType": "imageCountMoreThan",
        "countNumber": 10
      },
      "action": { "type": "expire" }
    }
  ]
}

算法:300 GB 的仓库里通常有 80%~90% 是被覆盖的旧 tag 和 untagged 层。配好上面两条规则、观察一个构建周期后,存储普遍能掉到 30~60 GB——ECR 上就是从 $30 降到 $3~$6,一年省 $290~$325。这一步的投入是改一个 JSON,收益是存储费的 80%。

同样的能力在另外几家叫什么:阿里云 ACR 企业版叫「tag 管理(自动清理)」,腾讯云 TCR 叫「版本保留策略」,Artifact Registry 叫 cleanup policies,Harbor 叫 tag retention rule。五家都有,但默认都不开。

4.2 让拉取留在同区域:这一条价值 $83~$123 / TB

前面场景 C 已经算过:1 TB 出公网,AWS $83、腾讯云香港 $123、GHCR $0。而同区域拉取五家里四家是 $0。所以架构上要保证三件事:

  1. Kubernetes 节点和镜像仓库在同一个 region(跨 region 的集群要么各建一个仓库,要么接受 $0.05~$0.09/GB)。
  2. CI Runner 部署在云内,而不是在办公室或第三方 SaaS 上跑构建再拉镜像。
  3. 出口走 VPC 端点 / 内网域名,不要绕 NAT 网关出公网再回来——绕一圈等于自己给自己付一次出网费。

4.3 跨区用「同步」,不要用「客户端跨区拉」

同样是「把镜像弄到 B 区域」,两种做法的账单差一个数量级:

  • 客户端跨区拉:B 区域的节点直接从 A 区域的仓库拉 → 每个节点、每次部署都付一次跨区流量,K8s 滚动更新 20 个 Pod 就是 20 次。
  • 仓库侧同步:仓库之间复制一次,B 区域节点从本地仓库拉 → 只付一次同步流量(中国两家还是免费)。

唯一例外还是那道 1.6 TB 的坎(见场景 B):跨区量很小时,AWS 按 GB 收的复制费比多买一个实例便宜。

4.4 公开镜像别塞进私有仓库

nginx、postgres、redis、python 这些基础镜像不该占你的私有存储和出网流量:

  • ECR Public:50 GB 存储永久免费 + 匿名拉取 500 GB/月、带账号 5 TB/月出公网免费。
  • GHCR 公开包:公开包(public packages)完全免费,且任何来源的入向流量免费。
  • Docker Hub 免费档:每小时 100 次拉取,个人开发足够;但一旦进 CI,100 次/小时会在几分钟内打满,这也是 Docker Hub 付费档(Pro $11/月、Team $16/月,年付 $9/$15)真正的卖点——不是存储,是「拉取不限次(公平使用)」。

算法:一个 10 节点的集群,每个节点每天拉 3 次基础镜像,一个月就是 900 次——免费档 100 次/小时看似够用,但滚动发布时是几十个节点同时拉,峰值会瞬间超限。

4.5 镜像总量低于约 1.4 TB,别买企业版实例

这是本文最实用的一条判据。腾讯云 TCR 企业版香港基础规格 $0.20/小时 = $146/月;ECR 存储 $0.10/GB/月。$146 ÷ $0.10 = 1,460 GB——也就是说:

  • 镜像总量 < 1.4 TB:按 GB 计费的方案(ECR / GAR / ACR 个人版)更便宜。
  • 镜像总量 > 1.4 TB:包月实例开始有优势,而且企业版还附带了跨地域同步、镜像安全扫描、配额与网络访问控制这些能力。

注意这是「只比存储」的粗算:企业版实例费里还包含控制面能力(多地域同步、镜像扫描、专有网络访问配额、仓库与命名空间配额等),这些能力在小规模下你可能根本用不上——配额不够时还要按项加购(阿里云 ACR 的参考价:命名空间 25 元/月每 5 个、仓库 100 元/月每 1,000 个、专有网络 72 元/月每个)。反过来,如果你确实需要这些能力,那这笔固定成本就是能力的价格,不是浪费;如果你只是想「把镜像存起来」,它一定是贵的。

阿里云 ACR 企业版同理,只是它的实例价按规格包年包月、不同地域不同,官方文档明确「具体价格以购买页为准」——这类「按规格报价」的产品,别拿网上旧文章的数字做预算,直接去购买页选规格看总价。

4.6 别把 CI 缓存和镜像仓库混着算配额

GitHub Container Registry 的存储额度与 GitHub Actions 的 artifacts 共享(官方原文:Packages 与 Actions artifacts 的总存储不能超过套餐额度)。如果把构建缓存、测试报告、镜像全推上去,很容易在「以为镜像免费」的情况下把额度吃光——而额度用尽后,没有绑定支付方式的账号会直接被阻断使用。

同理,Docker Hub 的拉取次数是按账号/按 IP 统计的,CI 里用同一个账号跑几十个 job,和开发机上手动 pull,抢的是同一个配额。

五、Harbor 自建到底划不划算?算一笔临界点

Harbor 是 CNCF 毕业项目、Apache 2.0 协议,软件本身零授权费。所以「自建」的成本从来不是软件,而是服务器 + 存储 + 人力三块。

显性成本(按月):

  • 一台 2 核 4G 的海外云服务器:约 $12~$24/月(按各家的入门规格);
  • 300 GB 云盘或对象存储:按块存储/对象存储单价另计;
  • 备份:仓库的数据库(PostgreSQL)+ 镜像存储都要备,存储翻倍是常态。

隐性成本(这才是关键):

  1. 垃圾回收是离线操作。 Harbor 删 tag 只是删元数据,实际层要跑 GC 才回收,而 GC 期间仓库通常要设成只读——这意味着你的发布窗口要被 GC 窗口让路。
  2. 高可用要自己搭。 多副本 + 共享对象存储 + 外部数据库 + 负载均衡,一套下来已经不是「一台机器装个 Docker」。
  3. 升级要自己扛。 Harbor 跨大版本升级需要逐版本迁移,数据库 schema 变更不可回退——生产仓库升级失败,等于整个发布链路停摆。
  4. 安全扫描、LDAP/OIDC 对接、配额、审计日志这些「托管版默认有」的能力,自建要一项项配。

临界点判断:

你的情况建议
镜像 < 500 GB、单区域、团队 < 10 人别自建,用托管(ECR/GAR/ACR 个人版/GHCR),$0~$30/月解决问题
镜像 500 GB~1.4 TB、单区域优先按 GB 计费的托管,仍比自建便宜(省下的人力远超存储费)
多云/混合云,需要「一套镜像打通所有环境」Harbor 开始有意义——它是唯一能同时被 AWS/GCP/阿里云/腾讯云/自建 IDC 一致拉取的方案
有数据主权/合规要求,镜像不许出内网必须自建,此时成本不是决策变量
镜像 > 5 TB、多区域、有专职运维自建 + 对象存储后端,单 GB 成本最低

一句话:Harbor 的价值是「一致性」和「主权」,不是「便宜」。 如果只是为了省钱而自建,通常会在第三个月被升级和 GC 教会做人。

六、选型结论:按你的技术栈对号入座

你的处境首选理由
全部业务在 AWS(EC2/EKS/Fargate/Lambda)ECR同区拉取 $0,与 IAM、EKS、CodePipeline 原生打通,无实例费
全部业务在 Google Cloud(GKE/Cloud Run)Artifact Registry同 location $0,GKE 免密拉取,还能顺带存 npm/Maven/Python 包
业务在阿里云,且国内外都有节点ACR 个人版起步 → 企业版个人版免费足够起步;需要多地域同步/扫描/配额时再升企业版
业务在腾讯云,规模中等TCR 个人版 → 企业版(选香港/新加坡)企业版按小时计费,地域差价近 40%,别默认选硅谷
开源项目、GitHub 生态、CI 在 ActionsGHCR镜像存储与带宽目前免费,公开包完全免费,GITHUB_TOKEN 免密
小型团队、要最简单的公开镜像分发Docker Hub(免费档起步)生态最广,但 CI 场景要算清拉取次数
多云/混合云/合规内网Harbor 自建唯一跨云一致的方案,代价是运维

三条最容易踩的选型错误:

  1. 「反正免流量费」就买两个实例——跨区量不到 1.6 TB/月时,AWS 按 GB 收更便宜(场景 B)。
  2. 「个人版免费」就上生产——ACR 个人版与 TCR 个人版都没有 SLA,且功能受限(无多地域、无企业级扫描)。生产环境用免费版,出事时没有赔付依据。
  3. 「镜像仓库嘛,随便选一个」——仓库是所有发布链路的单点。它挂了,你连回滚都做不到(因为回滚也要拉旧镜像)。

七、和三篇站内文章的边界

镜像仓库不是孤岛,它和三个东西天天打交道,但不是同一件事,别混着选:

  • 和 CI/CD 的分工:流水线负责「构建出镜像」,仓库负责「存和分发」。构建缓存、测试报告属于流水线的制品,不一定要塞进镜像仓库——塞进去会一起吃掉配额。CI/CD 各家计费口径见 CI/CD 流水线选型与成本对比。
  • 和对象存储的关系:阿里云 ACR 企业版、腾讯云 TCR 企业版的镜像实际落在 OSS / COS 上,所以它们的存储成本要去对象存储定价页看。对象存储本身的分层、请求费与流量费见 对象存储选型对比。
  • 和容器编排的关系:K8s 需要仓库(imagePullSecrets 或节点级免密拉取),Serverless 容器也支持从私有仓库拉。先选编排方式,再选仓库——两者的计费模型完全不同,见 Kubernetes 与 Serverless 容器怎么选。

典型组合:GitHub Actions 构建 → 推 GHCR(免费)→ 同步到生产区域的 ECR/ACR 企业版实例 → EKS/ACK 同区拉取($0)。构建在公网免费拉、运行在云内免费拉,只有「同步」这一段付费——这是目前成本最优的通用骨架。

总结

选镜像仓库,记住「三句话 + 一个口诀」:

  • 先拆三层再比价:存储(GB/月)+ 拉取流量(跨区/出公网)+ 控制面(实例/席位)。$0.20/小时 和 $0.10/GB/月 不能直接比,要换算成 1,460 GB 的存储等价量。
  • 账单大头永远是流量,不是存储:300 GB 镜像在 ECR 上只要 $30/月,但出公网 1 TB 就要 $83、跨区 1 TB 要 $92。让拉取留在同区域,是唯一免费的优化。
  • 1.6 TB 是两条关键分界线:跨区量低于它,AWS 按 GB 收费更便宜;镜像总量低于 1.4 TB,别买企业版实例。

口诀:存储看 GB,流量看同区,同步看实例,扫描看需求,公开走 Public,清理开策略,多云才自建,免费别上生产。

🚀 需要海外云服务器?通过 chengzicloud.cloud 购买享专属折扣,新用户首月5折起!我们提供阿里云国际、AWS、腾讯云国际等多家主流云厂商的优惠渠道和一对一选型指导,帮你省下30%-70%的云费用。

价格说明:本文单价取自各厂商官方定价页与文档(2026 年 10 月实取):AWS Amazon ECR Pricing(私有/公开仓库存储、跨区复制与出公网数据费、免费额度)、Google Cloud Artifact Registry Pricing($0.000136986/GiB·小时、0.5 GiB 账单账号级免费额度、跨 location 数据费、Premium 层级公网出流量)、阿里云容器镜像服务计费规则(个人版免费、企业版包年包月按规格、增强扫描 800 元/月、命名空间/仓库/专有网络配额单价)、腾讯云容器镜像服务 TCR 定价页(按地域分档的实例小时价:中国大陆 $0.14、香港与亚太 $0.20、欧美 $0.28)、GitHub Docs「About billing for GitHub Packages」(容器镜像存储与带宽现状免费、Packages 与 Actions 制品共享存储配额、GITHUB_TOKEN 下载不计配额)、Docker Hub 定价页(Personal/Pro/Team/Business 席位价与拉取速率限制)。货币单位除特别标注为人民币者外均为美元、税前价;按月折算统一采用 730 小时;Harbor 为 Apache 2.0 开源项目,无授权费,成本为服务器/存储/人力。文中场景月账单均为按官方单价自行折算的示意算例,实际费用随区域、镜像层去重率、拉取量、同步策略与配额加购而浮动。云厂商可随时调整价格与免费政策(GHCR 已明确保留变更免费额度的权利),最终以各厂商官网实时报价为准。

本文由 chengzicloud.cloud 提供,点击访问首页了解更多

常见问题(FAQ)

镜像仓库和 Docker Hub 是一回事吗?

不是同一层级的概念。Docker Hub 是「一个」镜像仓库服务,知名度最高,但只是众多选择之一;「镜像仓库」是一类产品——AWS ECR、Google Artifact Registry、阿里云 ACR、腾讯云 TCR、GHCR、Harbor 都属于这一类。Docker Hub 的优势是生态与公共镜像最全,劣势是拉取次数配额对 CI 不友好;云厂商的仓库优势是同区拉取免费、与 IAM/网络打通。

阿里云 ACR 个人版免费,能直接上生产吗?

技术上能,但要知道代价:个人版没有 SLA、不支持多地域同步、企业级安全扫描与配额管理缺失,且官方定位是「公测/个人开发」。判断标准很简单:如果这个仓库挂了,你的业务能在几分钟内恢复吗? 如果答案是「不能」,就别把生产镜像的唯一副本放在免费版上——至少做一份同步到对象存储或其他仓库的备份。

「同步不计流量费」是不是意味着跨区不要钱?

不是。阿里云 ACR 企业版与腾讯云 TCR 企业版的同步动作本身不产生 OSS/COS 公网流量费,但同步的两端各需要一个实例,而实例是按规格/小时收费的。腾讯云香港基础版两个实例就是 2 × $146 = $292/月。所以正确的判断是:跨区流量 < 1.6 TB/月 时,AWS 的 $0.09/GB 复制费更便宜;超过之后「买实例换免费同步」才划算。

镜像扫描一定要买增强版吗?

看你要的是「扫一次」还是「一直扫」。合规审计、等保、客户要求出报告 → 需要增强扫描(阿里云 ACR 增强扫描 800 元/月,含每月 1 万个不同 Digest)。只是想在 CI 里拦高危漏洞 → 在流水线里跑开源扫描器(Trivy、Grype)即可,成本为零,而且能直接让流水线失败。别为了「控制台上有个扫描页」一年花近万元。

自建 Harbor 最少要什么配置?

官方最低要求是 2 核 4G + 40 GB 磁盘,但这是「能跑起来」,不是「能用于生产」。生产建议至少 4 核 8G、镜像存储走对象存储(S3/OSS/COS)而不是本地盘、数据库外置、前置负载均衡。另外必须规划两件事:定期 GC(垃圾回收,GC 期间仓库要只读)和仓库元数据备份——Harbor 的 PostgreSQL 库丢了,镜像层还在也等于仓库废了。

ECR 的公开仓库会不会把代码泄露出去?

公开仓库公开的是「镜像」,不是「源码」——别人能拉取并解包镜像层,看到的是文件系统内容(包括你在镜像里放的任何文件、环境变量、构建参数)。所以推公开仓库前必须确认:镜像里没有 .env、密钥、内部地址、私有包凭证。多阶段构建(multi-stage build)能有效避免把构建期文件和凭证带进最终镜像,这也是本节最实际的一条建议。

一个仓库能同时存镜像和 npm / Maven 包吗?

能,但各家支持度不同。Google Artifact Registry 原生支持 Docker、Maven、npm、Python、Go、Apt、Yum 等多种格式,一个仓库服务全包;阿里云 ACR 与腾讯云 TCR 支持 Helm Chart 等 OCI 制品;ECR 主要面向容器镜像与 OCI 制品;GHCR 支持容器镜像与 npm 等 OCI 包。如果你要「一个地方存所有制品」,Artifact Registry 的格式覆盖最广——这也是它相对 ECR 最容易被忽略的优势。