目前上传本地镜像到网上有多种途径,一个是上传到hub上,一个是阿里云镜像仓库,还要其他服务器。
上传到hub上实在是太慢了,我的服务器用的是阿里云,所以选择上传到阿里云镜像仓库中。
前提条件:linux里有要上传的镜像,有阿里云的镜像仓库。
1.登录阿里云docker registry:
$ sudo docker login --username=afangxin registry.cn-hangzhou.aliyuncs.com
afangxin为阿里云镜像仓库的用户名。
登录registry的用户名是您的阿里云账号全名,密码是您开通namespace时设置的密码。
你可以在镜像管理首页点击右上角按钮修改docker login密码。
2.从registry中拉取镜像:
$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/testfangxin/fangxin:[镜像版本号].。
3。将镜像推送到registry:
$ sudo docker login --username=afangxin registry.cn-hangzhou.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/testfangxin/fangxin:[镜像版本号]
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/testfangxin/fangxin:[镜像版本号]
其中[ImageId],[镜像版本号]请你根据自己的镜像信息进行填写。
sample:
使用docker tag重命名镜像,并将它通过私网ip推送至registry:
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
registry.aliyuncs.com/acs/agent 0.7-dfb6816 37bb9c63c8b2 7 days ago 37.89 MB
$ sudo docker tag 37bb9c63c8b2 registry.cn-hangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
通过docker images 找到您的imageId 并对于改imageId重命名镜像domain到registry内网地址。
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/acs/agent
从内网push镜像,速度将大大提升,并且将不会损耗您的公网流量。注意,如果您申请的机器是在vpc网络的,请使用registry-cn-hangzhou-vpc.aliyuncs.com的域名前缀进行推送。