2026阿里云国际版ACR容器镜像服务实战教程:镜像仓库创建、推送拉取、安全扫描与ACK集成全流程
Meta Description: 阿里云国际版ACR容器镜像服务怎么用?
- 开头:一句话结论
- ACR是什么:个人版/企业版与核心概念
- 创建ACR实例与镜像仓库(控制台实操)
- 推送镜像到ACR(Docker命令实操)
- 从ACR拉取镜像部署到ECS与ACK
- 镜像安全扫描与生命周期管理
- 价格对比与省钱建议(价格表)
Meta Description: 阿里云国际版ACR容器镜像服务怎么用?本文从ACR个人版/企业版区别、命名空间与仓库等核心概念,到创建实例和镜像仓库、docker login推送/拉取镜像、同地域内网地址免流量拉取、与ECS和ACK集成部署、镜像安全扫描与生命周期清理的完整实操,附价格对比表和FAQ。价格可能变动,请以官方为准。
关键词:阿里云国际版ACR、容器镜像服务、镜像仓库教程、docker push、docker pull、Container Registry、ACK集成、镜像安全扫描、Docker Hub替代、阿里云国际版容器
一、开头:一句话结论
ACR(Alibaba Cloud Container Registry,容器镜像服务)是阿里云国际版的Docker镜像托管服务:把构建好的镜像推到它的仓库里,在ECS、ACK等任意服务器上随时拉取部署,同地域ECS走内网地址拉取不仅快还不产生公网流量费,个人版免费、企业版提供漏洞扫描与SLA。 一句话结论:只要你的业务在用Docker或Kubernetes,把镜像从Docker Hub搬到ACR,最大的收益是"近"——新加坡、香港、日本等地域的ECS/ACK直接使用内网地址拉镜像,速度快、免流量费,还自带镜像漏洞扫描能力;个人学习和中小项目用免费的个人版完全够用,不需要自己搭Harbor。 本文按"开通仓库→推送镜像→拉取部署→安全扫描→价格对比"的完整链路走一遍,全部是控制台加Docker命令实操,照着做就能跑通。如果你还没注册阿里云国际版账号,先看本站注册教程,注册前请确认当地法规合规性。
⚠️ 注意:本文所有价格均为参考价,价格可能变动,请以阿里云国际版官网(alibabacloud.com)实时定价为准。
二、ACR是什么:个人版/企业版与核心概念
ACR在阿里云国际版控制台里的英文名叫 Container Registry,本质就是一个托管在阿里云机房里的私有Docker镜像仓库,作用跟 Docker Hub 一样——存镜像、拉镜像,但托管节点分布在新加坡、香港、日本、法兰克福等海外地域,离你的海外服务器更近。
两个版本的区别先搞清楚:
- 个人版(Personal Edition):免费,随账号自动开通。提供命名空间、镜像仓库的托管和推拉取能力,适合个人学习、测试和小型项目。没有企业级SLA,高级能力(完整的安全扫描、跨地域同步、细粒度审计)以企业版为准。
- 企业版(Enterprise Edition):付费订阅。提供SLA保障、镜像漏洞扫描、跨地域镜像同步、更强的权限控制和审计日志,适合生产环境和对合规有要求的团队。
四个核心概念,记住它们后面操作就不迷路:
- 实例(Instance):一个地域内的仓库服务实体。个人版默认使用公共实例,企业版需要单独开通并按地域选择实例。
- 命名空间(Namespace):仓库的逻辑分组,类似 Docker Hub 上的账号或组织。可以把不同项目、不同团队隔离开,配合仓库权限使用。
- 镜像仓库(Repository):存放某个项目镜像的地方,同一个仓库里通过标签(Tag)区分不同版本,比如
v1.0、v2.1。 - 镜像地址(Image URL):完整格式是
registry.<地域ID>.aliyuncs.com/<命名空间>/<仓库>:<标签>,例如新加坡地域的registry.ap-southeast-1.aliyuncs.com/myns/nginx-demo:v1。
访问地址分三种,价格和速度差很多:
| 地址类型 | 格式示例 | 适用场景 |
|---|---|---|
| 公网地址 | registry.ap-southeast-1.aliyuncs.com | 本地电脑、非阿里云海外服务器 |
| VPC内网地址 | registry-vpc.ap-southeast-1.aliyuncs.com | 同地域ECS/ACK,免公网流量 |
| 经典网络地址 | registry-internal.ap-southeast-1.aliyuncs.com | 部分旧地域经典网络实例 |
📝 小提示:同一地域的 ECS 拉镜像用
registry-vpc前缀的内网地址,流量不走公网,既不产生公网流量费,速度也稳定得多。这是 ACR 最值得用的一点。
和 Docker Hub、自建 Harbor 相比:
| 对比项 | ACR个人版 | ACR企业版 | Docker Hub私有仓库 | 自建Harbor/Registry |
|---|---|---|---|---|
| 费用 | 免费 | 付费订阅 | 免费额度+付费套餐 | ECS费用+运维成本 |
| 拉取速度(海外地域) | 快(同地域内网) | 快(同地域内网) | 依赖网络,国内访问慢 | 取决于自建机房网络 |
| 镜像漏洞扫描 | 基础能力 | 完整扫描报告 | 付费功能 | 需自行集成Trivy等 |
| SLA与售后 | 无SLA | 有SLA | 有 | 自己扛 |
| 维护成本 | 零 | 零 | 零 | 高(升级、备份、高可用) |
三、创建ACR实例与镜像仓库(控制台实操)
下面用新加坡地域(ap-southeast-1)举例,其他地域流程完全一致。
步骤1:进入容器镜像服务控制台。 登录阿里云国际版控制台(alibabacloud.com),顶部搜索框输入 Container Registry,点击进入 ACR 产品页。(截图描述:控制台搜索框下拉出现 Container Registry 产品卡片,图标是蓝色容器图案,下方标注 "Container Registry")
步骤2:开通或选择实例。 个人版无需额外开通,页面默认显示个人版实例;如果需要企业版,点击"开通企业版实例",选择地域(务必与你的ECS/ACK同地域)并确认订阅。(截图描述:开通页面有地域下拉框、实例规格选项和月付价格,底部是"立即购买"按钮)
步骤3:创建命名空间。 在左侧菜单进入"命名空间",点击"创建命名空间",填写名称(例如 myns),仓库类型选择私有(Private)——公有仓库任何人都能拉取,非公开项目不要选。(截图描述:创建命名空间弹窗,含名称输入框和私有/公有单选按钮)
步骤4:创建镜像仓库。 进入"镜像仓库"→"创建镜像仓库",依次选择地域实例、命名空间,填写仓库名(例如 nginx-demo),摘要可留空。创建后在仓库详情页能看到完整的镜像地址。(截图描述:镜像仓库列表页,每行显示仓库名、命名空间、类型和"管理"按钮)
步骤5:设置访问凭证。 点击右上角或"访问凭证"菜单,为Registry单独设置一个登录密码——注意这个密码和账号登录密码不是一回事,是专门给 docker login 用的。建议用高强度随机密码并妥善保存。(截图描述:访问凭证页面,有"设置固定密码"按钮和密码输入框,下方注明该密码用于docker login)
四、推送镜像到ACR(Docker命令实操)
先在本地或构建机装好 Docker(docker --version 确认安装成功),然后执行四步:
第1步:登录仓库。 在终端执行:
docker login registry.ap-southeast-1.aliyuncs.com -u <你的阿里云账号邮箱> -p <刚才设置的Registry密码>
看到 Login Succeeded 即登录成功。(截图描述:终端输出 Login Succeeded,下面几行提示 WARNING! 密码明文出现在命令行,建议用凭证文件)
📝 小提示:个人版用账号邮箱登录;企业版按控制台"访问凭证"页提示的用户名格式填写(通常是
账号UID@命名空间形式),以页面提示为准。
第2步:给本地镜像打标签。 把镜像名改成ACR要求的完整地址格式:
docker tag nginx:latest registry.ap-southeast-1.aliyuncs.com/myns/nginx-demo:v1
第3步:推送镜像。 执行推送,终端会显示分层的上传进度:
docker push registry.ap-southeast-1.aliyuncs.com/myns/nginx-demo:v1
看到 v1: digest: sha256:... size: ... 即推送完成。回到控制台镜像仓库页面,刷新就能在"镜像版本"列表里看到 v1。(截图描述:docker push 输出多行进度条和 digest 摘要;控制台镜像版本列表出现 v1 条目,带大小和创建时间)
第4步:拉取验证。 在任意一台服务器上:
docker pull registry.ap-southeast-1.aliyuncs.com/myns/nginx-demo:v1
避坑提醒:
- 海外VPS(如美国)向新加坡地域推送大镜像可能很慢,这是国际链路问题,可以换到离VPS更近的地域实例,或先推小镜像验证连通性。
- 推送超大镜像时先
docker images确认本地镜像没有多余的中间层,必要时用多阶段构建瘦身。 - 密码不要直接写进脚本,生产环境建议用 Docker credential store 或 CI 平台的密钥管理。
五、从ACR拉取镜像部署到ECS与ACK
场景一:部署到ECS(最简)。 同地域ECS上,把公网地址换成内网地址直接跑:
docker run -d -p 8080:80 --name nginx-demo registry-vpc.ap-southeast-1.aliyuncs.com/myns/nginx-demo:v1
curl 一下 http://<ECS内网IP>:8080 能看到 Nginx 默认页,镜像拉取走的全是内网流量。
场景二:部署到ACK(Kubernetes)。 ACK 集群拉私有仓库镜像需要先创建拉取密钥(imagePullSecret):
kubectl create secret docker-registry acr-secret \
--docker-server=registry.ap-southeast-1.aliyuncs.com \
--docker-username=<账号邮箱> \
--docker-password=<Registry密码>
然后在 Deployment 里引用这个密钥:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-demo
spec:
replicas: 2
selector:
matchLabels:
app: nginx-demo
template:
metadata:
labels:
app: nginx-demo
spec:
imagePullSecrets:
- name: acr-secret
containers:
- name: nginx
image: registry-vpc.ap-southeast-1.aliyuncs.com/myns/nginx-demo:v1
ports:
- containerPort: 80
kubectl apply -f deploy.yaml 后,kubectl get pods 看到两个 Running 即部署成功。
📝 小提示:企业版实例支持与ACK免密集成(控制台一键授权,自动注入拉取凭证),省去手动管理 secret 的麻烦。ACK的完整建集群、部署流程见本站ACK容器服务实战教程。
六、镜像安全扫描与生命周期管理
镜像漏洞扫描: 企业版实例对推送的镜像自动进行漏洞扫描,控制台的"镜像版本"页面能看到每个版本的扫描状态和报告,列出发现的 CVE 漏洞、影响组件、严重级别和修复建议。(截图描述:扫描报告页按严重级别红黄绿分色列出漏洞条目,每条有 CVE 编号和受影响的软件包版本)
修复流程: 扫描发现问题后,升级基础镜像(例如把 nginx:latest 换成官方最新稳定版)、重新构建应用镜像、重新推送新标签,然后在控制台确认新版本的扫描结果。
生命周期管理(防止仓库无限膨胀): 在实例设置里配置清理策略——比如每个仓库只保留最近10个标签,或超过30天的旧版本自动删除。这样仓库不会因为频繁发布而越堆越大、账单也随之膨胀。
生产环境实践建议:
- 标签语义化:用
v1.2.3这种固定版本号,不要全部覆盖成latest,方便回滚。 - 变更是新版本就推新标签,永远不覆盖线上正在使用的标签。
- 基础镜像固定版本,配合自动扫描,避免"来源不明的镜像进生产"。
七、价格对比与省钱建议(价格表)
ACR 的费用结构很简单:个人版免费,企业版按实例订阅付费。下表为参考价,价格可能变动,请以官网实时定价为准:
| 方案 | 费用(参考) | 优点 | 适合人群 |
|---|---|---|---|
| ACR个人版 | 免费 | 同地域内网拉取免流量、无需运维、够用 | 个人学习、测试、中小项目 |
| ACR企业版 | 按套餐月付(约 $100/月级别起,以官网为准) | SLA、漏洞扫描、跨地域同步、审计 | 生产环境、合规要求高的团队 |
| Docker Hub 私有仓库 | 免费额度有限,付费套餐(约 $5-9/用户/月,参考) | 生态成熟、公共镜像丰富 | 面向海外用户、不介意网络延迟 |
| 自建Harbor/Registry | ECS费用(2C4G约 $20-30/月,参考)+运维成本 | 完全自主可控、可深度定制 | 已有运维团队、强定制需求 |
省钱建议:
- 个人版够用就不要开企业版——个人项目、学习实验、日活不高的业务,个人版完全扛得住。
- 同地域ECS一定用
registry-vpc内网地址——公网拉取会产生流量费,内网拉取免费且更快。这一条长期能省不少钱。 - 镜像越小越省钱——多阶段构建、精简基础镜像,减少存储和传输成本。
- 企业版如果只是偶尔需要扫描功能,可以评估自建 Trivy 等开源扫描器,避免为一个低频功能长期付费。
八、常见问题FAQ
- Q: ACR个人版和企业版到底有什么区别?
A: 个人版免费,提供基础镜像托管和推拉取能力,没有企业级SLA;企业版付费订阅,提供SLA保障、镜像漏洞扫描、跨地域同步、细粒度权限和审计能力。个人学习、测试和中小项目用个人版即可。
- Q: docker push 一直超时或者特别慢怎么办?
A: 先确认推送目标地域离你的构建机近不近,跨洲链路慢是常态;其次确认网络能直连阿里云机房(部分网络环境需要代理或加速);最后检查镜像大小,超大镜像分层推送时可以分批重试。
- Q: 怎么用内网地址拉镜像?需要额外配置吗?
A: 不需要额外配置,只要ECS和ACR实例在同一地域,把镜像地址前缀从 registry 换成 registry-vpc 即可,例如 registry-vpc.ap-southeast-1.aliyuncs.com/myns/nginx-demo:v1。不同地域则必须走公网地址。
- Q: ACK 拉私有镜像报 ImagePullBackOff / ErrImagePull 怎么办?
A: 绝大多数情况是 imagePullSecret 没建对或没在 Deployment 里引用。用 kubectl describe pod 看事件里的具体报错;检查 secret 里的 docker-server 域名、账号密码是否与控制台访问凭证一致;企业版实例确认是否完成了ACK免密授权。
- Q: 个人版免费额度够用吗?会不会突然收费?
A: 个人版本身就是免费服务,不会突然收费,但仓库数量和命名空间数量有限制,适合个人和小项目;超出个人版限制或需要高级能力时再升级企业版。具体额度以官网文档为准。
- Q: 镜像扫描出高危漏洞怎么办?
A: 先看报告中漏洞影响的组件和修复版本,升级基础镜像、重新构建并推送新标签,然后复扫确认。如果是业务代码引入的依赖漏洞,升级对应依赖版本。生产环境建议把扫描作为发布流程的强制步骤。
- Q: 想把 Docker Hub 上的镜像迁到 ACR 怎么做?
A: 本地执行 docker pull <Docker Hub镜像> → docker tag 改成ACR地址 → docker push 到ACR仓库,三步完成。配合脚本可以批量迁移;需要持续同步的团队可以关注企业版的跨地域同步能力。
- Q: 海外服务器一定要用ACR吗?直接用Docker Hub行不行?
A: 可以,但海外VPS直连 Docker Hub 经常遇到限流(匿名拉取有次数限制)和网络波动,而ACR同地域内网拉取又快又稳还免流量。注册和使用海外云服务前,请确认当地法规合规性。
九、总结
ACR是阿里云国际版容器生态的"镜像基座":概念上记住"命名空间+仓库+标签"三个层级和"公网/内网"两种地址;实操上"建命名空间→建仓库→设置访问凭证→docker login→打标签→push"六步走;部署上同地域ECS用 registry-vpc 内网地址免流量、ACK配好 imagePullSecret 就能稳定拉取;省钱上个人版免费够用、镜像越小越便宜。 相比 Docker Hub 的限流和自建 Harbor 的运维负担,ACR 把"镜像托管"这件事做到了"零维护、同地域免流量",是容器化业务的省心之选。还没开始用容器的同学,先看本站ACK容器服务实战教程了解集群怎么搭;遇到扣费、流量相关的疑问,本站常见问题大全基本都能找到答案。本文所有价格与配置均为参考,价格可能变动,请以阿里云国际版官网(alibabacloud.com)实时信息为准。
🚀 需要海外云服务器跑容器业务?通过 2.chengzicloud.cloud 购买享专属折扣,搭配ACR从第一天就把镜像托管做到"零维护、同地域秒级拉取"。
⚠️ 免责声明:本文中提到的配置、价格和优惠信息可能随时间变化,请以阿里云国际版官网(alibabacloud.com)的实时信息为准。本文不构成任何投资或购买建议。注册前请确认当地法规合规性。
本文由 2.chengzicloud.cloud 提供,点击访问首页了解更多