阿里云 ACR Docker 镜像分发的实现步骤
作者:杨了个杨8982
本文主要介绍了阿里云 ACR Docker 镜像分发的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
一、前置准备(控制台操作)
1. 开通 & 进入服务
访问 阿里云容器镜像服务 ACR,根据场景选择实例版本:
- 测试 / 个人:个人版(免费)
- 生产 / 集群 / 跨地域:企业版(支持 VPC 内网、权限细控、多地域同步)
2. 获取登录凭证
- 进入对应 ACR 实例 → 左侧【访问凭证】
- 开启固定密码
- 记录实例域名:registry.地域.aliyuncs.com(例:registry.cn-hangzhou.aliyuncs.com)
3. 创建命名空间 & 私有仓库
(1)【命名空间】→ 新建(例:prod-project,用于项目隔离)
(2)【镜像仓库】→ 新建:
- 归属命名空间:选择上一步创建的命名空间
- 仓库名称:自定义(例:web-app)
- 仓库类型:私有(生产强制)
- 代码源:本地仓库
(3)最终镜像完整地址格式:
registry.地域.aliyuncs.com/命名空间/仓库名:镜像标签
二、通用配置文件模板
1.Docker 加速器配置(所有节点通用)
适用于 ECS、物理机、本地开发机,加速公共镜像 + ACR 访问
路径:/etc/docker/daemon.json
{
"registry-mirrors": ["https://你的ACR加速地址.mirror.aliyuncs.com"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
}
}生效命令:
# 重载配置+重启Docker systemctl daemon-reload systemctl restart docker # 验证 docker info
2. 内网访问配置(仅 ACR 企业版 + 同 VPC 节点)
- ACR 控制台 → 实例管理 → 专有网络,绑定当前 VPC / 交换机
- 节点直接使用内网域名拉取,免公网流量,无需额外配置
三、常见应用场景
(一)本地 / 构建机 → 推送镜像到 ACR(镜像上传)
#!/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 镜像(镜像分发)
#!/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 认证配置
# 执行登录后,认证文件自动生成在 /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.后续所有节点无需重复登录,直接拉取:
docker pull registry.cn-hangzhou.aliyuncs.com/prod-project/web-app:v1.0.0
到此这篇关于阿里云 ACR Docker 镜像分发的实现步骤的文章就介绍到这了,更多相关阿里云 Docker 镜像分发内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
