阿里云 Docker 镜像私服(ACR)保姆级教程(2026最新)

阿里云容器镜像服务(ACR)是官方托管的 Docker 私有仓库,个人版免费、企业版付费,无需自己搭服务器、运维,稳定性和安全性远优于自建 Registry。下面从0到1教你创建私有镜像仓库、推送/拉取镜像,全程可直接复制操作。

零、应用场景流程图

在这里插入图片描述

一、准备工作

  1. 注册阿里云账号并完成 实名认证(必须)
  2. 本地/服务器已安装 Docker(Docker Engine 19.03+)
  3. 记住:个人版免费、限3个命名空间、适合学习/个人项目;企业版付费、适合生产

二、开通 ACR 并创建个人实例

  1. 登录阿里云控制台 → 搜索 容器镜像服务 ACR
    在这里插入图片描述

  2. 进入后选择 实例列表 → 点击 创建个人实例

在这里插入图片描述

  1. 选择地域(就近选,如 华东1(杭州)/华南2(深圳))→ 勾选协议 → 创建实例
    在这里插入图片描述

  2. 设置 Registry 登录密码(独立密码,非阿里云账号密码,务必记好)
    在这里插入图片描述

三、创建命名空间(分组用)

命名空间 = 镜像分组,全局唯一、不可修改、最多3个(个人版)

  1. 进入个人实例 → 左侧 命名空间创建命名空间
    在这里插入图片描述

  2. 填写:

    • 命名空间名称:如 myrepo-demo(小写字母/数字/下划线/短横)
    • 自动创建仓库:默认开启
    • 仓库类型:私有(私服必须选私有)
  3. 点击 确定

在这里插入图片描述

四、创建私有镜像仓库

  1. 左侧 镜像仓库创建镜像仓库
    在这里插入图片描述

  2. 仓库信息:

    • 命名空间:选刚创建的
    • 仓库名称:如 my-node-app(镜像名)
    • 仓库类型:私有
    • 描述:可选填
      点击 下一步
      在这里插入图片描述
  3. 代码源:选 本地仓库(最常用)→ 创建镜像仓库

在这里插入图片描述

  1. 创建成功 → 点击 管理,查看仓库地址(公网地址
    格式:registry.cn-地域.aliyuncs.com/命名空间/仓库名
    示例:registry.cn-shenzhen.aliyuncs.com/myrepo-demo/my-node-app
    在这里插入图片描述

五、本地 Docker 登录阿里云私服

方式1:用阿里云账号 + Registry 密码(推荐)

# 格式:docker login 仓库地址
docker login registry.cn-shenzhen.aliyuncs.com

# 用户名:阿里云账号(手机号/邮箱)
# 密码:第2步设置的 Registry 独立密码

出现 Login Succeeded 即成功。

方式2:用 AccessKey(生产/子账号推荐)

  1. 阿里云控制台 → 头像 → AccessKey 管理 → 创建 AccessKey
  2. 登录命令:
docker login registry.cn-shenzhen.aliyuncs.com \
  --username=你的AccessKeyID \
  --password=你的AccessKeySecret

六、推送本地镜像到私有仓库

1. 查看本地镜像

docker images
# 找到要推送的镜像:如 node:18-alpine 或自己构建的 my-app:v1

2. 给镜像打标签(关键步骤)

格式:

docker tag 本地镜像名:版本 阿里云仓库地址:版本

示例:

# 本地镜像 → 阿里云私服标签
docker tag node:18-alpine registry.cn-shenzhen.aliyuncs.com/myrepo-demo/my-node-app:v1.0

3. 推送镜像

docker push registry.cn-shenzhen.aliyuncs.com/myrepo-demo/my-node-app:v1.0

推送完成后,在 ACR 仓库 镜像版本 可看到。

七、从私有仓库拉取镜像

1. 先登录(同第五步)

docker login registry.cn-shenzhen.aliyuncs.com

2. 拉取命令

# 格式
docker pull 仓库地址:版本

# 示例
docker pull registry.cn-shenzhen.aliyuncs.com/myrepo-demo/my-node-app:v1.0

八、常见问题与安全建议

1. 登录失败

  • 密码错误:用 Registry 独立密码,不是阿里云登录密码
  • 地域错误:仓库地址地域必须匹配
  • 权限:子账号需授权 cr:PushRepository/cr:PullRepository

2. 推送失败

  • 标签格式错误:严格按 registry.xxx/命名空间/仓库:版本
  • 未登录:先 docker login
  • 网络:切换网络/重启 Docker

3. 生产安全(必看)

  • 主账号慎用:创建 RAM 子账号,仅赋推送/拉取权限
  • 密码保密:不要明文写脚本,用环境变量或密钥管理
  • 访问控制:ACR 可限制 公网IP白名单VPC 内网访问
  • 定期清理:删除无用镜像版本

九、完整命令速查

# 1. 登录
docker login registry.cn-地域.aliyuncs.com

# 2. 打标签
docker tag 本地镜像:版本 registry.cn-地域.aliyuncs.com/命名空间/仓库:版本

# 3. 推送
docker push registry.cn-地域.aliyuncs.com/命名空间/仓库:版本

# 4. 拉取
docker pull registry.cn-地域.aliyuncs.com/命名空间/仓库:版本

# 5. 登出
docker logout registry.cn-地域.aliyuncs.com

更多推荐