阿里云容器镜像服务ACR(Alibaba Cloud Container Registry)是面向容器镜像、Helm Chart等符合OCI标准云原生制品安全托管及高效分发平台。ACR企业版支持全球同步加速、大规模和大镜像分发加速、多代码源构建加速等全链路加速能力,与容器服务ACK无缝集成,帮助企业降低交付复杂度,打造云原生应用一站式解决方案。
阿里云镜像服务使用指南
- 一、容器镜像服务ACR个人版
- 二、创建个人版实例及镜像管理
- 2.1 创建个人版实例
- 2.2 仓库与镜像管理
- 三、镜像加速器
一、容器镜像服务ACR个人版
容器镜像服务ACR个人版是免费用于存放Docker镜像的,可以免费创建最多300个私有或公开的镜像仓库
,可以创建最多3个命名空间
。对单个镜像包的大小限制为单层不超过100GB
,总层数不超过127。
个人版面向个人开发者,公测限额免费使用,无SLA承诺及SLA受损赔偿且有使用限制,提供便捷的镜像管理功能,并支持访问加速。
新个人版域名:以crpi-开头,以 .personal.cr.aliyuncs.com 结尾。
示例:
crpi-xxxx.cn-hangzhou.personal.cr.aliyuncs.com(公网域名)
crpi-xxxx-vpc.cn-hangzhou.personal.cr.aliyuncs.com(VPC域名)
官方文档:https://help.aliyun.com/zh/acr/user-guide/create-a-container-registry-personal-edition-instance
二、创建个人版实例及镜像管理
2.1 创建个人版实例
登录容器镜像服务控制台:https://cr.console.aliyun.com,在顶部菜单栏,选择所需地域,如华东2(上海),在左侧导航栏,选择实例列表, 在实例列表页面,单击个人版区域任意位置。
在提示对话框单击创建个人版。
在容器镜像服务实例创建页面,选择一个区域,单击立即创建。
等待实例创建完成,设置Registry登录密码
2.2 仓库与镜像管理
创建命名空间,可以有效管理该命名空间下的仓库集合,包括仓库权限和仓库属性。命名空间作为一些仓库的集合,推荐将一个公司或组织的仓库集中在一个命名空间下面,如以公司名称作为命名空间:aliyun、alibaba
创建镜像仓库,仓库是用于集中存储、管理和分发同一应用不同版本容器镜像的服务平台,支持版本控制、权限控制、自动化集成以及安全性管理,建议您将一个应用不同版本的镜像放置在一个仓库中。建议以软件包名或应用名作为仓库名称,如 以软件包命名:例如 centos、jetty。
在个人版实例管理页面选择仓库管理 > 镜像仓库,在镜像仓库单击创建镜像仓库,在仓库信息
配置向导中设置命名空间、仓库名称、仓库类型、摘要、描述信息,单击下一步。
在代码源
配置向导中设置代码源、构建设置、构建规则设置,或者直接选择本地仓库,单击创建镜像仓库。
创建完成后,进入镜像仓库的基本信息页面
推送拉取镜像
1> 登录阿里云Docker Registry
$ docker login --username=fj666666666666 crpi-hlbe7a54lolzy33a.cn-shanghai.personal.cr.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在访问凭证页面修改凭证密码。
2> 从Registry中拉取镜像
$ docker pull crpi-hlbe7a54lolzy33a.cn-shanghai.personal.cr.aliyuncs.com/maxxspace/code-server:[镜像版本号]
3> 将镜像推送到Registry
$ docker login --username=fj666666666666 crpi-hlbe7a54lolzy33a.cn-shanghai.personal.cr.aliyuncs.com
$ docker tag [ImageId] crpi-hlbe7a54lolzy33a.cn-shanghai.personal.cr.aliyuncs.com/maxxspace/code-server:[镜像版本号]
$ docker push crpi-hlbe7a54lolzy33a.cn-shanghai.personal.cr.aliyuncs.com/maxxspace/code-server:[镜像版本号]
请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
4> 选择合适的镜像仓库地址
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
如果您使用的机器位于VPC网络,请使用 crpi-hlbe7a54lolzy33a-vpc.cn-shanghai.personal.cr.aliyuncs.com 作为Registry的域名登录。
5> 示例
使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
registry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7 days ago 37.89 MB
$ docker tag 37bb9c63c8b2 crpi-hlbe7a54lolzy33a-vpc.cn-shanghai.personal.cr.aliyuncs.com/acs/agent:0.7-dfb6816
使用 “docker push” 命令将该镜像推送至远程。
$ docker push crpi-hlbe7a54lolzy33a-vpc.cn-shanghai.personal.cr.aliyuncs.com/acs/agent:0.7-dfb6816
ubuntu docker login 报错:
Error saving credentials: error storing credentials - err: exit status 1, out:The connection is closed
解决方案:
https://github.com/docker/cli/issues/1136
https://stackoverflow.com/questions/50151833/cannot-login-to-docker-account
https://github.com/docker/docker-credential-helpers/releases
三、镜像加速器
ACR会为每一个账号(阿里云账号或RAM用户)生成一个镜像加速器地址,配置镜像加速器前,您需要获取镜像加速器地址。
编辑/etc/docker/daemon.json文
件,然后重启 Docker Daemon 即可完成配置镜像加速器。
{
"registry-mirrors": ["<镜像加速器地址>"]
}
相关参考:
Docker CE 镜像源站