一、背景
阿里云提供了免费的容器镜像服务(Container Registry),更重要的是支持公开和私有仓库。相对于正统的DockerHub,阿里云仓库是个不错的选择。目前阿里云容器镜像服务是免费提供的,注册阿里云即可开通,无须申请云主机或域名。除了常用的Docker镜像操作外,还提供了镜像加速器,方便下载国外镜像。也提供与源码之间的构建,如果使用了阿里的云主机,强烈建议开通并使用。
二、镜像仓库
开通容器镜像服务
打开https://www.aliyun.com/,点击登陆,输入账号密码,或者用支付宝扫码登陆,登陆时会自动检测安全性,有时候需要输入手机短信验证码(PS:现在似乎很多东西都依赖手机了)。
登陆后,搜索“容器镜像服务”,然后开通。容器镜像服务主页如图1所示:
图1
创建命名空间
在“命名空间”页面,点击“创建命名空间”,输入命名空间名称,注意,一个账号最多可创建5个命名空间,如名称已存在则无法创建。图2是笔者的命名空间:
图2
创建镜像仓库
在“镜像仓库”页面,点击“创建镜像仓库”,选择地域(地域不同,镜像地址亦不同,笔者默认的区域为华东1),选择命名空间,输入仓库名称、摘要信息,仓库类型默认为私有,也可选择公开。如图3所示:
图3
之后需要选择构建方式,是从源码中构建镜像还是本地直接提交镜像,前者可以选择“云CODE”、GitHub、Bitbucket、GitLab等,当然要绑定账号授权;后者的话,在本地构建好镜像,再用命令行方式提交到仓库。这里选择第二种方式,如图4、图5所示:
图4
图5
创建成功如图6所示:
图6
点击镜像仓库右侧的“管理”可查看镜像信息,并且页面附有使用说明。
三、使用镜像
镜像加速器
在容器镜像服务主页左侧找到“镜像加速器”,得到加速地址,然后在主机执行如下命令,以Ubuntu为例:
$ sudo mkdir -p /etc/docker
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://a8qh6yqv.mirror.aliyuncs.com"]
}
EOF
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
之后,即可加快下载Docker镜像的速度。
登陆仓库
在“访问凭证”页面,提供了登陆仓库的方式,登陆实例如下:
$ sudo docker login --username=latelee@163.com registry.cn-hangzhou.aliyuncs.com
sudo: unable to resolve host latelee
Password: # 此处输入密码
Login Succeeded
镜像使用
拉取镜像命令如下,如果使用本地仓库的话,需要先提交镜像才能下载。
$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/latelee/apple
提交镜像命令如下:
$ sudo docker tag <已存在镜像ID或名称> registry.cn-hangzhou.aliyuncs.com/latelee/apple
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/latelee/apple
四、小结
李迟 2019.10.11 周五
转载:https://blog.csdn.net/subfate/article/details/102507717