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