阿里云 ACR Docker 镜像分发

一、前置准备(控制台操作)

1. 开通 & 进入服务

访问 阿里云容器镜像服务 ACR,根据场景选择实例版本:

  • 测试 / 个人:个人版(免费)
  • 生产 / 集群 / 跨地域:企业版(支持 VPC 内网、权限细控、多地域同步)

2. 获取登录凭证

3. 创建命名空间 & 私有仓库

(1)【命名空间】→ 新建(例:prod-project,用于项目隔离)

(2)【镜像仓库】→ 新建:

  • 归属命名空间:选择上一步创建的命名空间
  • 仓库名称:自定义(例:web-app)
  • 仓库类型:私有(生产强制)
  • 代码源:本地仓库

(3)最终镜像完整地址格式:

registry.地域.aliyuncs.com/命名空间/仓库名:镜像标签

二、通用配置文件模板

1.Docker 加速器配置(所有节点通用)

适用于 ECS、物理机、本地开发机,加速公共镜像 + ACR 访问

路径:/etc/docker/daemon.json

bash 复制代码
{
  "registry-mirrors": ["https://你的ACR加速地址.mirror.aliyuncs.com"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}

生效命令:

bash 复制代码
# 重载配置+重启Docker
systemctl daemon-reload
systemctl restart docker
# 验证
docker info

2. 内网访问配置(仅 ACR 企业版 + 同 VPC 节点)

  • ACR 控制台 → 实例管理 → 专有网络,绑定当前 VPC / 交换机
  • 节点直接使用内网域名拉取,免公网流量,无需额外配置

三、常见应用场景

(一)本地 / 构建机 → 推送镜像到 ACR(镜像上传)

bash 复制代码
#!/bin/bash
# ========== 请手动修改以下变量 ==========
ACR_DOMAIN="registry.cn-hangzhou.aliyuncs.com"  # ACR域名
NAMESPACE="prod-project"                        # 命名空间
REPO_NAME="web-app"                            # 仓库名
IMAGE_TAG="v1.0.0"                              # 镜像标签
DOCKER_USER="你的阿里云账号"                    # ACR登录用户名
DOCKER_PWD="你的ACR固定密码"                    # ACR登录密码
LOCAL_IMAGE="web-app:v1.0.0"                   # 本地原有镜像名:标签
# ========================================

# 1. 登录ACR
echo "$DOCKER_PWD" | docker login $ACR_DOMAIN -u $DOCKER_USER --password-stdin

# 2. 镜像打标
docker tag $LOCAL_IMAGE $ACR_DOMAIN/$NAMESPACE/$REPO_NAME:$IMAGE_TAG

# 3. 推送至阿里云ACR
docker push $ACR_DOMAIN/$NAMESPACE/$REPO_NAME:$IMAGE_TAG

# 4. 登出(可选,安全加固)
# docker logout $ACR_DOMAIN

(二)业务节点(ECS/ACK)→ 拉取 ACR 镜像(镜像分发)

bash 复制代码
#!/bin/bash
# ========== 请手动修改以下变量 ==========
ACR_DOMAIN="registry.cn-hangzhou.aliyuncs.com"
NAMESPACE="prod-project"
REPO_NAME="web-app"
IMAGE_TAG="v1.0.0"
DOCKER_USER="你的阿里云账号"
DOCKER_PWD="你的ACR固定密码"
# ========================================

# 1. 登录ACR
echo "$DOCKER_PWD" | docker login $ACR_DOMAIN -u $DOCKER_USER --password-stdin

# 2. 拉取镜像
docker pull $ACR_DOMAIN/$NAMESPACE/$REPO_NAME:$IMAGE_TAG

# 验证镜像
docker images | grep $REPO_NAME

(三)批量节点免交互分发(推荐生产)

1.生成 Docker 认证配置

bash 复制代码
# 执行登录后,认证文件自动生成在 /root/.docker/config.json
echo "你的ACR密码" | docker login registry.cn-hangzhou.aliyuncs.com -u 账号 --password-stdin

# 拷贝到全局目录,所有用户生效
cp /root/.docker/config.json /etc/docker/
chmod 644 /etc/docker/config.json

2.后续所有节点无需重复登录,直接拉取:

bash 复制代码
docker pull registry.cn-hangzhou.aliyuncs.com/prod-project/web-app:v1.0.0
相关推荐
霁月的小屋3 小时前
Docker 工程化实践(二):理解镜像分层与容器文件系统
运维·docker·容器
老猿AI洞察4 小时前
阿里Qwen-Image-3.0发布:4.5K token长输入+10px小字渲染,AI生图终于能从“好看“走向“好用“了
人工智能·阿里云
码上上班19 小时前
docker课程
java·docker·容器
BullSmall20 小时前
CentOS7 阿里云 PG 镜像 PG10.9 → PG17 完整升级指南
阿里云·postgresql·centos
TMT星球21 小时前
IDC报告:阿里云稳居中国混合云软件及服务市场第一
阿里云·云计算
Database_Cool_1 天前
云数据库控制台好不好用、能不能可视化操作:阿里云 RDS MySQL 控制台体验详解
数据库·mysql·阿里云
取谖慕12.1 天前
Docker容器从入门到精通
docker·容器·eureka
Database_Cool_1 天前
云数据库如何保证高可用、故障了怎么办:阿里云 RDS MySQL 高可用架构详解
数据库·mysql·阿里云
取谖慕12.1 天前
Harbor仓库从讲解到部署实战
docker·harbor
Database_Cool_1 天前
AI 应用的上下文、记忆、向量数据用什么数据库存——阿里云 Tair 选型指南
数据库·人工智能·阿里云