Docker本地镜像发布到阿里云镜像服务的简易指南

1 阿里云容器镜像服务

阿里云容器镜像服务(Alibaba Cloud Container Registry,简称ACR)是一个为容器镜像、Helm Chart等云原生资产提供安全托管及高效分发的平台。它支持多架构容器镜像,包括Linux、Windows、ARM等,以及Helm Chart v2/v3,覆盖了云原生资产的全生命周期管理

阿里云容器镜像服务(ACR)与其他镜像服务相比,具有一些独特的优势,使其在易用性、安全性和可集成性方面表现出色。

首先,ACR提供了强大的DevOps构建能力,支持全球部署,这意味着你可以在超过20个地域中选择,并且地域内的下载限额是免费的。这种全球部署的能力,使得ACR在跨境镜像同步方面表现出色,这对于需要全球化部署应用的企业来说是一个巨大的优势。

其次,ACR的高效镜像构建功能支持自动代码构建和多阶段构建,这使得开发者可以更加专注于代码的开发,而不必担心构建过程的复杂性。此外,ACR还提供了丰富的触发器规则,可以实现无缝部署应用,这对于持续集成和持续部署(CI/CD)流程来说是非常有帮助的。

在安全性方面,ACR提供了多维度的安全保障,包括云原生资产的加密存储、镜像安全扫描及多维度漏洞报告,确保了资产的存储和内容安全。ACR还提供了容器镜像和Helm Chart的网络访问控制管理,以及细粒度的操作审计,这些都有助于保障资产的访问安全。

ACR与阿里云的其他云产品之间可以实现无缝集成,例如与容器服务ACK的整合,可以实现新应用镜像生成后的持续部署。同时,ACR也整合了云Code,实现源代码到编译测试后,自动生成应用镜像。

此外,ACR的用户体验也是其优势之一。它简单易用,无需自行搭建及运维,一键即可创建镜像仓库。同时,ACR支持多地域,提供稳定快速的镜像上传、下载服务,这对于用户来说意味着更高的效率和更好的体验。

总的来说,阿里云ACR通过其全球部署能力、DevOps支持、安全性保障以及与阿里云产品的无缝集成,为用户提供了一个高效、安全且易于使用的容器镜像托管和分发服务。这些优势使得ACR在众多镜像服务中脱颖而出,成为许多企业和开发者的首选。

2 准备工作

在开始之前,你需要确保你的阿里云账户已经开通了容器镜像服务,并且你已经安装了Docker和阿里云的CLI工具。如果没有,你可以访问阿里云官网进行注册和开通服务,同时下载并安装Docker和阿里云CLI工具。

2.1 开通容器镜像服务

登陆阿里云

搜索镜像容器服务

进入控制台,点击个人版

创建命名空间

创建仓库名称

创建成功后,显示仓库信息及操作指南

2.2 操作说明

登录阿里云Docker Registry

$ docker login --username=阿里云账号 registry.cn-hangzhou.aliyuncs.com

用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码,可以在访问凭证页面修改凭证密码。

从Registry中拉取镜像

$ docker pull registry.cn-hangzhou.aliyuncs.com/wktime/myimage:[镜像版本号]

将镜像推送到Registry

$ docker login --username=阿里云账号 registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/wktime/myimage:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/wktime/myimage:[镜像版本号]

根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数

开通阿里云容器镜像服务,依据操作指南我们就可接下来的操作了。

3 推送本地镜像至阿里

我们先下载centos镜像,然后将这个容器镜像推送到阿里云仓库

3.1 下载镜像

3.2 本地生成新镜像

基于当前centos容器创建一个新的镜像,假如我们新增的php环境,将其推送至云仓库,协作小伙伴下载后,就可以直接使用了,无需再安装环境

docker commit命令格式:

docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]]

使用docker commit生成镜像

docker commit -a wktime -m "centos php" 04c940ecfbfe mycentos:1.1

3.3 推送到阿里云仓库

登陆云仓库

镜像标签

推送到云仓库

登陆阿里云查看

如果Digest一致,就是上传成功了。

3.4 下拉镜像验证

使用该镜像,运行容器验证

要是运行容器没有报错,那就是成功了。

4 最后

发布镜像到阿里云,不仅可以方便你和你的团队共享和使用镜像,还可以提高你的工作效率。比如,你可以在多个环境中快速部署相同的服务,而不需要每次都重新构建镜像

感谢大家,请大家多多支持!

相关推荐
朝九晚五ฺ3 分钟前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
为什么每天的风都这么大29 分钟前
Vscode/Code-server无网环境安装通义灵码
ide·vscode·阿里云·编辑器·ai编程·code-server
Kkooe1 小时前
GitLab|数据迁移
运维·服务器·git
wuxingge1 小时前
k8s1.30.0高可用集群部署
云原生·容器·kubernetes
wusong9992 小时前
mongoDB回顾笔记(一)
数据库·笔记·mongodb
猫爪笔记2 小时前
前端:HTML (学习笔记)【1】
前端·笔记·学习·html
久醉不在酒2 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
Resurgence032 小时前
【计组笔记】习题
笔记
pq113_62 小时前
ftdi_sio应用学习笔记 3 - GPIO
笔记·学习·ftdi_sio
志凌海纳SmartX2 小时前
趋势洞察|AI 能否带动裸金属 K8s 强势崛起?
云原生·容器·kubernetes