「实用」使用阿里云的镜像仓库存储自己的镜像
一个免费版的镜像仓库值得你拥有。
背景
最近有在搭建自己喜欢的小玩意,而且为了方便维护迁移,因此需要一个好的平台托管,知名的是DockerHub,但是今天,咱们眼光放在国内——我使用的阿里云容器Hub。
介绍
其实阿里云的官方文档说的很清楚了,我在这里给大家做一些介绍和总结。
阿里云这个仓库,个人版是完全免费的,但是有一定的数量限制,如下图所示,但是目前来看,是完全能够满足我们开发者自身需求。当然如果你有更大的需求,可以升级为企业版。
我们在配置仓库、命名空间后就可以正常使用啦。
使用
- 登录阿里云Docker Registry
1 | $ docker login --username=[你的名字] registry.cn-shanghai.aliyuncs.com |
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。
您可以在访问凭证页面修改凭证密码。
- 从Registry中拉取镜像
1 | $ docker pull registry.cn-shanghai.aliyuncs.com/[命名空间]/[仓库名称]:[镜像版本号] |
- 将镜像推送到Registry
将现有的容器创建一个新镜像,首先还是登录
1 | $ docker login --username=[你的名字] registry.cn-shanghai.aliyuncs.com |
然后将现有容器提交为一个新的镜像
1 | $ docker commit [containerId] [镜像名:镜像版本号] |
查看镜像
1 | $ docker images |
可以看到镜像已经制作成功,为了上传至远程仓库,我们给该镜像打一个tag:
1 | $ docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/[命名空间]/[仓库名称]:[镜像版本号] |
推送到远端:
1 | $ docker push registry.cn-shanghai.aliyuncs.com/[命名空间]/[仓库名称]:[镜像版本号] |
请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。
- 选择合适的镜像仓库地址
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-shanghai.aliyuncs.com 作为Registry的域名登录。注意:登录的时候就需要使用这个域名,不然,push的时候会提示:
1 | denied: requested access to the resource is denied |
- 示例
使用”docker tag”命令重命名镜像,并将它通过专有网络地址推送至Registry。
1 | $ docker images |
使用 “docker push” 命令将该镜像推送至远程。
1 | $ docker push registry-vpc.cn-shanghai.aliyuncs.com/acs/agent:0.7-dfb6816 |
推荐
阿里云服务作为业内首选,目前有大量活动值得参与,作为推广大使,点我享受优惠!
当然更多优惠还得关注微信公众号:程序员小明!!!
评论